Android

Click is not working on the Listitem Listview android

Click не работает в Listitem Listview Android

Я реализовал Android listview с помощью ListActivity. Здесь у меня проблема в том, что когда я нажимаю на элемент списка, никаких действий не выполняется, когда цвет вспышки также не отображается, это оранжевый цвет. Итак, у вас есть какие-либо представления об этом, любезно ответьте на мой вопрос.

@Override
protected void onListItemClick(ListView l, View v, int position, long id)
{
super.onListItemClick(l, v, position, id);
Toast.makeText(getApplicationContext(), "msg msg", Toast.LENGTH_SHORT)
.show();

}

Я поместил этот код также в основной ListActivity.

Переведено автоматически
Ответ 1

Первое, на что вы должны обратить внимание здесь, это то, что всякий раз, когда в вашем ImageButtons элементе есть элементы, на которые можно нажимать, такие как кнопки или ListView присутствующие в вашем, они берут на себя управление событиями щелчка. И поэтому у вас ListView не будет возможности принять событие click.

Что вам просто нужно сделать, это установить для focusable атрибута значение false для Button или ImageButton, которое у вас есть в вашем ListView. Но все равно они будут работать без каких-либо проблем, а также ваш ListView onListItemClick также будет работать.

Попробуйте это,

        <Button  android:id="@+id/textsize_increaser"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/back_button"
android:focusable="false"
android:text=" A + "/>

Здесь я добавил это android:focusable="false" и это работает нормально. попробуйте.

Ответ 2

Вы установили режим выбора ListView на SINGLE :

     listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);

И если у вас есть какие-либо кликабельные imageview, textview или button в элементе списка, то сделайте их недоступными для фокусировки (в вашем классе адаптера):

        yourButton.setFocusable(false);
yourButton.setFocusableInTouchMode(false);
Ответ 3

Вы используете пользовательский адаптер? и раздуваете макет с помощью кнопки или любого другого представления, которое съедает фокус представления списка как дочернего, тогда это, очевидно, не сработает. убедитесь, что установлено

    android:focusable="false"

для такого просмотра в XML-файле. надеюсь, у вас это сработает.

Ответ 4

Установите это в вашем java-файле listactivity

listview1.setFocusable(false);
2024-01-09 03:48 java android android-listview