【发布时间】:2011-09-12 15:06:59
【问题描述】:
如何使列表视图中的项目无法点击。我在列表视图中有主题和项目,但主题和项目的视图是相同的。项目可点击,但主题不可点击。如何做到这一点
列表看起来像
Topic
item
Topic
item
item
主题。 clickable(false) 无效,请帮忙
【问题讨论】:
-
您尝试过可扩展的列表视图吗??
如何使列表视图中的项目无法点击。我在列表视图中有主题和项目,但主题和项目的视图是相同的。项目可点击,但主题不可点击。如何做到这一点
列表看起来像
Topic
item
Topic
item
item
主题。 clickable(false) 无效,请帮忙
【问题讨论】:
不知道你是否还需要它,但是你可以实现自己的Adapter并重写方法isEnabled(int position)。根据项目的 ViewType,您将返回 true 或 false。
【讨论】:
android:listSelector="@android:color/transparent" 的 XML 中设置了以下属性,它对我有用。
分享我的经验,以下是诀窍(视图指的是列表项视图):
view.setEnabled(false);
view.setOnClickListener(null);
【讨论】:
要使列表中的项目不可点击,您必须使适配器在其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;
}
};
【讨论】:
android:listSelector="@android:color/transparent" 的 XML 中设置了以下属性,它对我有用。
这是正确答案:
我发现很多cmets都这么说
setEnabled(false)
setClickable(false)
setFocusable(false)
可行,但答案是否
这种方法的唯一解决方法是:
view = inflater.inflate(R.layout.row_storage_divider, parent, false);
view.setOnClickListener(null);
【讨论】:
在ListView中设置listSelector透明
android:listSelector="@android:color/transparent"
【讨论】:
在你的适配器中,你可以这样写:
view = inflator.inflate(R.layout.items_menu_header, null);
view.setOnClickListener(null);
我使用布尔值来识别是标题还是项目,因此我为每种类型分配了不同的布局。
【讨论】:
在您的ListView 中添加以下属性
android:cacheColorHint = "#00000000"
【讨论】: