您好,我对 ListFragment 上的 onListItemClick 方法有疑问。
我有一个包含 2 个 ListFragment 的 Activity 。第一个是子导航,第二个显示一些内容。子导航工作得很好,单击列表项时会调用 onListItemClick 事件。但是对于第二个 ListFragment,没有任何反应。该方法未被调用。
到目前为止,我还尝试用标准 fragment 替换 Listfragment 并手动设置 setOnItemClickListener。但是当我单击列表条目时它不会被触发。我还尝试使用不同的监听器(例如 onLongItemClick)对其进行测试,但也没有任何反应。
这些是我的 ListView 的设置。
<ListView
android:id ="@+id/mylistview"
android:layout_width ="match_parent"
android:layout_height ="match_parent"
android:divider ="@android:color/transparent"
android:dividerHeight ="10dp"
android:listSelector ="@android:color/transparent"
android:cacheColorHint ="@android:color/transparent"/>
注意,我在使用 ListFragment 时用标准的“@android:id/list”替换了 id。
有人知道这里出了什么问题吗?会不会是其他 ListFragments 获得了所有 onListItemClick 调用并阻止了这个调用?
这是附加到列表的适配器:
setListAdapter(new CustomRatingBarListAdapter(mListEntries,
getActivity(), R.layout.content_view_list_layout,
new int[] { R.id.list_item_text1 }, new String[] { TEXT});
最佳答案
如果您的布局中有一个项目可以从其他组件(如 RatingBar)窃取输入,则该组件需要定义为不可聚焦,这样它就不会获取事件。
关于android - onListItemClick 未在 Listfragment 上调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9635337/