2014-12-19 3 views
0

Я реализую бесконечный ListView (как в приложении для Facebook). Я хочу сделать элемент как select (временно показать фон как серый), который я выбираю. когда я нажимаю на listview, ничего не происходит (не показано как серый). Я попробовал установить android:focusable="false" и android:cickable="false" для моего представления в виде списка. Но я не заметил ни одной мелочи. В чем моя вина? Любой мне помогает. Заранее спасибо.Как сделать доступным выбранный элемент списка?

ответ

1

Если вы хотите, чтобы показать щелкнули вариант, как подсвечивается. Не помещайте clicklistener в convetview. Использовать

 ListView.SetOnclicklistener(..){ 
     ... 
     } 

Это лучший способ устранить проблему.

0

Попробуйте в качестве фона:

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

    <item android:drawable="@color/someGreyColor" android:state_activated="true"/> 
    <item android:drawable="@color/anyColor" android:state_pressed="true"/> 
    <item android:drawable="@color/backgrounColor"/> 

</selector> 
1

Вы можете сделать это, используя селектор, который можно установить в качестве фона вашего списка пункта.

вытяжке/background_list_item.xml

<?xml version="1.0" encoding="utf-8"?> 

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@color/gray" android:state_pressed="true" /> 
    <item android:drawable="@color/gray" android:state_selected="true" /> 
    <item android:drawable="@color/gray" android:state_activated="true" /> 
    <item android:drawable="@color/default_color" /> 
</selector> 

макет/list_item.xml

<?xml version="1.0" encoding="utf-8"?> 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@drawable/background_list_item" 
    android:orientation="vertical"> 

    <... /> 

</LinearLayout> 
Смежные вопросы