Почему мой onItemSelectedListener не называют в ListView?

Я использую ListView, который является установкой как это:

<ListView android:id="@android:id/list" android:layout_width="fill_parent"
    android:layout_height="fill_parent" android:longClickable="false"
    android:choiceMode="singleChoice">
</ListView>

В моем коде я добавляю OnItemSelectedListener к ListView как это:

getListView().setAdapter(adapter);
getListView().setOnItemSelectedListener(this);

мое Действие реализует слушателя как этот:

@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
    Log.d("Tag", "ListItemSelected: Parent: " + parent.toString() + " View: "
            + view.toString() + " Position: " + " Id: " + id);
}

Моя надежда была, что я буду видеть, что эта отладка производит момент, я нажимаю на что-то в списке. Но вывод отладки никогда не показывают в LogCat.

56
задан Janusz 27 January 2012 в 08:40
поделиться

1 ответ

OnItemSelectedListener прослушивает выбор элементов списка, а не щелчки по элементам списка.

Выбор в этом случае можно рассматривать как перемещение фокуса на этот элемент с помощью трекпада устройства.

Чтобы получить желаемое поведение, необходимо использовать OnItemClickListener .

98
ответ дан 26 November 2019 в 17:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: