Android 如何使ListView的页眉或页脚不可单击
我正在使用方法Android 如何使ListView的页眉或页脚不可单击,android,listview,android-listview,Android,Listview,Android Listview,我正在使用方法setHeaderView()和setFooterView()以及视图充气器向列表视图添加页脚和页眉视图。这很有效 但是如何防止页眉或页脚视图触发onListItemClick事件?当然,我可以捕获事件并检查它是否来自页眉或页脚,但这只解决了问题的一部分,因为单击页眉和页脚时仍然会聚焦 只需使用和匹配的addFooter()方法 对象数据的用途参数。 ListView源代码将数据参数描述为: 支持视图的数据。这是从ListAdapter#getItem(int)返回的 这意味着如
setHeaderView()
和setFooterView()
以及视图充气器向列表视图添加页脚和页眉视图。这很有效
但是如何防止页眉或页脚视图触发onListItemClick
事件?当然,我可以捕获事件并检查它是否来自页眉或页脚,但这只解决了问题的一部分,因为单击页眉和页脚时仍然会聚焦 只需使用和匹配的addFooter()
方法
对象数据的用途
参数。
ListView源代码将数据参数描述为:
支持视图的数据。这是从ListAdapter#getItem(int)返回的
这意味着如果我使用listView.getAdapter().getItem(0)
它将从标题返回数据
对象
我将用一个例子来阐述这一点:
listView = (ListView) findViewById(R.id.list);
String[] array = new String[] {"one", "two", "three"};
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, array);
稍后如果我们问:
Log.v("ListAdapter", listView.getAdapter().getItem(0)); // output: "Potato"
Log.v("ArrayAdapter", adapter.getItem(0)); // output: "one"
啊,太好了!它起作用了。还有一个问题,数据对象的用途是什么?此时,我将数据参数设置为null。但是当我将一个真实的对象传递给它时,它会发生什么呢?现在我不知道,我正在阅读源代码并在线查看它是如何工作的。如果我弄明白了,我会发布更新!
Log.v("ListAdapter", listView.getAdapter().getItem(0)); // output: "Potato"
Log.v("ArrayAdapter", adapter.getItem(0)); // output: "one"