Почему щелчки в моем ExpandableListView игнорируются?

У меня есть AlertDialog, заполненный ExpandableListView. Сам список работает отлично, но нажатия почему-то игнорируются. По-видимому, мой обработчик кликов никогда не вызывается.

Это код:

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Select something");
ExpandableListView myList = new ExpandableListView(this);
MyExpandableListAdapter myAdapter = new MyExpandableListAdapter();
myList.setAdapter(myAdapter);
myList.setOnItemClickListener(new ExpandableListView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> a, View v, int i, long l) {
        try {
            Toast.makeText(ExpandableList1.this, "You clicked me", Toast.LENGTH_LONG).show();
        }
        catch(Exception e) {
            System.out.println("something wrong here    ");
        }
    }
});
builder.setView(myList);
dialog = builder.create();
dialog.show();

Если я вместо этого попытаюсь заполнить AlertDialog простым списком, события щелчка будут генерироваться без проблем:

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Select Color Mode");

ListView modeList = new ListView(this);
String[] stringArray = new String[] { "Bright Mode", "Normal Mode" };
ArrayAdapter<String> modeAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, stringArray);
modeList.setAdapter(modeAdapter);
modeList.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> parent, View view,
            int position, long id) {
          // When clicked, show a toast with the TextView text
          Toast.makeText(getApplicationContext(), ((TextView) view).getText(),
              Toast.LENGTH_SHORT).show();
        }
      });


builder.setView(modeList);
AlertDialog dialog1 = builder.create();
dialog1.show();

В чем может быть причина, почему событие щелчка не работает в моем ExpandableListView, но не в обычном ListView? Я, наверное, что-то упускаю, но понятия не имею, что это могло быть.

11
задан marlar 14 July 2011 в 13:23
поделиться