ListView Android не позволяет селектору работать и не разрешает выбор

Хорошо, я знаю, что это может звучать как любые другие проблемы, связанные с проблемами ListView и ListActivity, но это не так, я сойду с ума, как и на прошлой неделе, продолжая поиск по всем сообщениям, чтобы найти какое-либо решение, которое может помочь мне. Уже попробовал фон элемента ListView через пользовательский селектор и GetView Vs. BindView в пользовательском адаптере Cursor? всевозможные блоги на сайтах...

Хорошо, проблема в том, что My listView для одного 1 не разрешает события выделения / запуска и 2. не изменяет подсветку строки при нажатии на элемент. У меня есть стандарт TestActivity простирающийся ListActivity и я реализовал Custom TestCursorAdapter extends SimpleCursorAdapter

Теперь в XML сторону вещей, которые я имею на test_list_view.xml и второй row_view.xml Теперь я следую вышеперечисленным ответам и реализую selector как row_selector.xml, Но проблема в том, что строки не принимают никаких событий щелчка или фокуса. Я применил простой тост, чтобы указать, происходит ли что-нибудь

@Override
protected void onListItemClick(ListView l, View v , int postion, long idontnow){
    Toast.makeText(getApplicationContext(), "Hello World",  Toast.LENGTH_SHORT ).show();
}

часть test_list_view.xml

<ListView android:id="@android:id/list" 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:drawSelectorOnTop="true" 
    android:cacheColorHint="#00000000"
    android:focusable="true" 
    android:listSelector="@color/row_selector" 
    android:background="@color/Transparent"/>

часть файла selector.xml (в основном копируется и вставляется по одной из вышеупомянутых ссылок)

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_window_focused="false" 
        android:drawable="@color/Transparent" />
    <item 
        android:state_focused="true"
        android:state_enabled="false"
        android:state_pressed="true" 
        android:drawable="@color/green" />
    <item 
        android:state_focused="true"
        android:state_enabled="false"      
        android:drawable="@color/green" />
    <item 
        android:state_focused="true"
        android:state_pressed="true" 
        android:drawable="@color/blue" />
    <item 
        android:state_focused="false"
        android:state_pressed="true" 
        android:drawable="@color/blue" />
    <item 
        android:state_focused="true" 
        android:drawable="@color/green" />
    <item 
        android:state_selected="true" 
        android:drawable="@color/blue" />
    <item 
        android:drawable="@color/Transparent" />
</selector>

Я следовал всем вариантам, которые мне известны, и до сих пор ничего. Единственное главное отличие - парни, которыми я не пользуюсь getView вместо этого я использую bindView ,

Любая помощь, ребята, будет высоко оценена.

заранее спасибо.

Sanj

2 ответа

Решение

Я предлагаю вам удалить android:focusable="true" от ListView,

Кроме того, вы можете использовать selector в качестве цвета фона элементов, отображаемых в ListView, Также убедитесь, что эти элементы не вызывают onClick или же onTouch или что-то подобное, и пусть ListView обрабатывать события клика.

надеюсь, это поможет

РЕДАКТИРОВАТЬ:

для вашей проблемы с выбором пункта использования

lv.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            yourMethod();
        }
    });

После предложения Раукодрауга и публикации ListView OnItemClickListener не отвечает?

Еще один факт, как упомянуто использование bindView метод, который я использовал

view.setClickable(true);
view.setFocusable(true); 

щелчок элемента работает, только если вы щелкнете по области, отмеченной желтым, и ImageView, Я должен быть в состоянии понять это, спасибо,

отредактированный

Oh *%#$ Решено, необходимо установить RelativeLayouts Add State from Children = true;

Другие вопросы по тегам