Flo*_*Flo 33 android listview android-listview
我添加一个页脚和页眉视图到ListView通过使用方法setHeaderView()和setFooterView()和一个ViewInflater.这非常有效.
但是,如何阻止页眉或页脚视图触发onListItemClick事件?当然,我可以捕获事件并检查它是否来自页眉或页脚,但这只解决了问题的一部分,因为页眉和页脚在单击时仍然聚焦.
Sam*_*Sam 65
只需使用ListView#addHeaderView(View v,Object data,boolean isSelectable);
和匹配addFooter()方法.
Object data参数的目的.
ListView源代码将data参数描述为:
支持视图的数据.这是从ListAdapter#getItem(int)返回的.
这意味着如果我使用listView.getAdapter().getItem(0);它将返回data标头中的Object.
我将通过一个例子详细说明:
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);
Run Code Online (Sandbox Code Playgroud)
接下来让我们添加一个标头并设置适配器:
listView.addHeaderView(view, "Potato", false);
listView.setAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)
稍后如果我们问:
Log.v("ListAdapter", listView.getAdapter().getItem(0)); // output: "Potato"
Log.v("ArrayAdapter", adapter.getItem(0)); // output: "one"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11125 次 |
| 最近记录: |