在Android应用程序中,我有一个ListActivity。创建它后,我有一个广播接收器,必须禁用列表中的一些项目。所以我有一堆代码可以用这个:
View child = getListView().getChildAt(i);
child.setEnabled(false);
它的工作方式是将禁用视图的颜色更改为灰色。但我需要避免这个项目可以点击。所以我试着打电话给
child.setFocusable(false);
或
child.setClickable(false);
但在两种情况下,按下禁用选项后都会调用onListItemClick。
如何在单击这些文本视图时避免调用onListItemClick方法?
感谢。
答案 0 :(得分:1)
禁用视图不会对onListItemClick
事件产生任何影响。
必须通过用于填充列表的适配器禁用子项。
请参阅http://developer.android.com/reference/android/widget/ListAdapter.html#isEnabled(int)
需要覆盖此方法,以便为您不希望可点击的每个项目返回false。您还应该向适配器添加方法,例如setEnabled(int position, boolean enabled)