java - 禁用 TextView 中的焦点

标签 java android textview android-listview

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

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

它的工作原理是将禁用 View 的颜色更改为灰色。但我需要避免可以单击此项目。所以我尝试打电话

child.setFocusable(false);

child.setClickable(false);

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

如何避免单击这些 TextView 时调用 onListItemClick 方法?

谢谢。

最佳答案

禁用 View 对于 onListItemClick 事件没有任何作用。

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

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

需要重写此方法,以便为您不希望可点击的每个项目返回 false。您还应该向适配器添加一个方法,例如 setEnabled(intposition, booleanenabled)

关于java - 禁用 TextView 中的焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3352601/

相关文章:

android - 数据库调用后如何设置文本

java - Android Oreo onTaskRemoved 事件不起作用(Android 版本 Oreo)

android - 如何在 Textview 中搜索单词?

java - Akka 分布式 pub sub : Java implementation not working

java - 如何读取损坏的符号链接(symbolic link)指向的路径?

java - 多线程环境下ResultSet成员变量的复用

java - 方法的 jni 签名

java - 如何在后台下载文件列表而不影响其他 Activity 的性能?

android - 从 android arsenal 添加存储库的问题

java - textview 上的 onclick 事件(具有 TextIsSelectable ="true")仅在第二次单击时调用