如何使列表视图中的项目无法单击。我在列表视图中获得了主题和项目,但主题和项目的视图相同。这些项目是可点击的,但主题无法点击。如何实现这个
列表看起来像
Topic
item
Topic
item
item
主题。点击能力(假)没有用,请帮忙
答案 0 :(得分:72)
不知道你是否仍然需要它,但你可以实现自己的Adapter并覆盖方法isEnabled(int position)。根据项目的ViewType,您将返回true或false。
答案 1 :(得分:55)
分享我的经验,以下功能(视图指的是列表项视图):
view.setEnabled(false);
view.setOnClickListener(null);
答案 2 :(得分:20)
要使列表中的项目不可单击,您必须使适配器在其isEnabled
方法中为列表中的项目返回false。实例化适配器和覆盖isEnabled
的简单方法可以通过以下方式完成:
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, null, from, to, 0) {
@Override
public boolean isEnabled(int position) {
return false;
}
};
答案 3 :(得分:8)
这是正确答案:
我发现很多评论说
setEnabled(false)
setClickable(false)
setFocusable(false)
可行,但答案是否
此方法的唯一解决方法是:
view = inflater.inflate(R.layout.row_storage_divider, parent, false);
view.setOnClickListener(null);
答案 4 :(得分:4)
在ListView中将listSelector设置为透明
android:listSelector="@android:color/transparent"
答案 5 :(得分:1)
在你的适配器中,你有这个:
view = inflator.inflate(R.layout.items_menu_header, null);
view.setOnClickListener(null);
我使用布尔值来标识标题或项目,因此我为每种类型指定了不同的布局。
答案 6 :(得分:1)
在ListView
添加以下属性
android:cacheColorHint = "#00000000"