SORU
1 NİSAN 2010, PERŞEMBE


Nasıl ateş gelen yeni oluşturulmuş bir Spinner kapalı onİtemSelected tutmak için mi?

Zarif daha az bazı yollar bunu çözmek için düşündüm, ama ben bir şey eksik olmalı biliyorum.

Benim onİtemSelected hemen kullanıcı ile herhangi bir etkileşim olmadan patlar ve bu istenmeyen bir davranıştır. UI kullanıcı bir şey vermeden bir şey seçene kadar beklemek istiyorum.

Ben bile dinleyici kurma onResume, bu yardımcı olacağını umut denedim ama olmuyor.

Nasıl kullanıcı denetimi dokunamaz önce ateş bu dışı bırakabilir miyim?

public class CMSHome extends Activity { 

private Spinner spinner;

@Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    // Heres my spinner ///////////////////////////////////////////
    spinner = (Spinner) findViewById(R.id.spinner);
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
            this, R.array.pm_list, android.R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter);
    };

public void onResume() {
    super.onResume();
    spinner.setOnItemSelectedListener(new MyOnItemSelectedListener());
}

    public class MyOnItemSelectedListener implements OnItemSelectedListener {

    public void onItemSelected(AdapterView<?> parent,
        View view, int pos, long id) {

     Intent i = new Intent(CMSHome.this, ListProjects.class);
     i.putExtra("bEmpID", parent.getItemAtPosition(pos).toString());
        startActivity(i);

        Toast.makeText(parent.getContext(), "The pm is "  
          parent.getItemAtPosition(pos).toString(), Toast.LENGTH_LONG).show();
    }

    public void onNothingSelected(AdapterView parent) {
      // Do nothing.
    }
}
}

CEVAP
21 ŞUBAT 2012, Salı


Dan Dyer cevabı atıfta bulunarak, post(Runnable) yöntemi OnSelectListener kayıt için deneyin:

spinner.post(new Runnable() {
    public void run() {
        spinner.setOnItemSelectedListener(listener);
    }
});

Benim için bunu yaparak diledi davranışı sonunda meydana geldi.

Bu durumda da dinleyici, sadece değişen bir madde. anlamına gelir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • buttheadgsxr1000

    buttheadgsxr

    24 Ocak 2008
  • dougownsall

    dougownsall

    7 EKİM 2007
  • TheDigiCraft

    TheDigiCraft

    25 NİSAN 2011