好的,我知道这可能听起来像有关 ListView 和 ListActivity 问题的任何其他问题,但事实并非如此,我会发疯的,因为我在过去一周继续搜索所有帖子以找到任何可能有帮助的解决方案我。已经通过自定义选择器和GetView Vs尝试了ListView 项目背景。自定义 CursorAdapter 中的 BindView?所有其他可能的博客网站...
好的问题,我的 listView 1 将不允许选择/触发事件,2. 单击项目时不会更改行突出显示。我有一个标准TestActivity
扩展ListActivity
并且我已经实现了一个自定义TestCursorAdapter extends SimpleCursorAdapter
现在在 XML 方面我有test_list_view.xml
第二个row_view.xml
现在我按照上面提到的答案并实现selector
为row_selector.xml
. 但问题在于行不接受任何点击或焦点事件。我实现了一个基本的 toast 来指示是否有任何事情发生
@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
.
任何帮助的人将不胜感激。
提前致谢。
三吉