Кликабельные строки в пользовательском ArrayAdapter - PullRequest
2 голосов
/ 13 апреля 2011

Я создал специальный ArrayAdapter для ListView, чтобы настроить строки списка с некоторыми элементами.

Проблема в том, что я не могу выбрать элемент, когда я нажимаю, ничего не происходит. Это то, что я должен реализовать в моем собственном ArrayAdapter? Он имеет только конструктор и метод getView. Когда я создаю экземпляр своего списка и реализую onListItemClick, он игнорируется, поэтому я думаю, что это как-то связано с моим настраиваемым адаптером ... Я исследовал примеры, но ничего не нашел.

Что мне делать?

РЕДАКТИРОВАТЬ: В каждой строке я использую флажок и LinearLayout, который содержит TextViews. Этот LinearLayout должен быть выбираемым.

Ответы [ 2 ]

6 голосов
/ 14 апреля 2011

Я считаю, что проблема в том, что Android не позволяет вам выбирать элементы списка, на которых есть элементы, которые можно сфокусировать.

Установите флажок в lisview как «Не фокусируемый».

См. Подробности:

android:focusable="false"

Пользовательский список ListView для Android не может нажимать элементы

<checkbox>.setFocusable(false)

http://groups.google.com/group/android-developers/browse_thread/thread/dc070331341ef34/fa6d4356118a1f0d?lnk=gst&q=button+listview+clicks#fa6d4356118a1f0d

1 голос
/ 15 марта 2012

Я боролся весь день с этой проблемой! Вот как ваш макет / xml должен выглядеть для вашего списка:

Эти строки должны быть на всех TextViews и других компонентах, которые вы используете:

android:focusable="false"
android:clickable="false"/> 

Мой файл layout.xml для listitem:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent">    

    <LinearLayout
    android:orientation="vertical"
    android:layout_width="0dip" 
    android:layout_weight="1"
    android:layout_height="fill_parent">

        <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/textWhiteTheme" 
        style="@style/list_item_wh"
        android:focusable="false"
        android:clickable="false"/>        

    </LinearLayout>
</LinearLayout>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...