gpt4 book ai didi

android - 如何使 ListView 的页眉或页脚不可点击

转载 作者:IT老高 更新时间:2023-10-28 21:43:05 24 4
gpt4 key购买 nike

我正在向 ListView 添加页脚和页眉 View 通过使用方法setHeaderView()setFooterView()ViewInflater .这工作得很好。

但是如何防止页眉或页脚 View 触发 onListItemClick事件?当然,我可以捕获事件并检查它是来自页眉还是页脚,但这只能解决问题的一部分,因为单击时页眉和页脚仍然保持焦点。

最佳答案

只需使用 ListView#addHeaderView(View v, Object data, boolean isSelectable);并匹配 addFooter() 方法。


对象数据参数的用途。

ListView 源代码将 data 参数描述为:

The data backing the view. This is returned from ListAdapter#getItem(int).

这意味着如果我使用 listView.getAdapter().getItem(0); 它将从我们的标题中返回 data 对象。


我会用一个例子来详细说明:

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);

接下来让我们添加一个 header 并设置适配器:

listView.addHeaderView(view, "Potato", false);
listView.setAdapter(adapter);

稍后如果我们问:

Log.v("ListAdapter", listView.getAdapter().getItem(0));  // output: "Potato" 
Log.v("ArrayAdapter", adapter.getItem(0)); // output: "one"

关于android - 如何使 ListView 的页眉或页脚不可点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12480762/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com