0

在 Android 应用程序中,我有一个 ListActivity。创建它后,我有一个广播接收器,它必须禁用列表中的某些项目。所以我有一段代码,比如这个:

View child = getListView().getChildAt(i);
child.setEnabled(false);

它的工作方式是将禁用视图的颜色更改为灰色。但是我需要避免这个项目可以被点击。所以我试着打电话

child.setFocusable(false);

或者

child.setClickable(false);

但在这两种情况下,onListItemClick 在按下禁用选项后都会被调用。

单击这些文本视图时,如何避免调用 onListItemClick 方法?

谢谢。

4

1 回答 1

1

禁用视图对onListItemClick事件没有任何作用。

孩子必须被您用来填充列表的适配器禁用。

请参阅http://developer.android.com/reference/android/widget/ListAdapter.html#isEnabled(int)

需要重写此方法以对您不想被点击的每个项目返回 false。您还应该向适配器添加一个方法,例如setEnabled(int position, boolean enabled)

于 2010-07-28T17:29:30.783 回答