我有一个包含不同对象的列表视图。例如{A,B,B,A,C等} 如果我点击A就可以在项目上突出显示,但是如果我点击B我不想要突出显示。我在B组件的布局中放了clickable = false但它没有效果。
答案 0 :(得分:1)
扩展BaseAdapter并实现isEnabled方法
答案 1 :(得分:1)
禁用ListView项目
您需要覆盖以下方法:在适配器isEnabled(int position)
和areAllItemsEnabled()
中。在isEnabled()
中,您返回true或false取决于列表,并在areAllItemsEnabled()
返回false。
示例强>
class CustomAdapter extends ArrayAdapter {
public CustomAdapter(
Context context, int textViewResId, CharSequence[] strings) {
super(context, textViewResId, strings);
}
...
....
public boolean areAllItemsEnabled() {
return false;
}
public boolean isEnabled(int position) {
// return false if you want to disable for any element
}
}