ListView添加Header后position的计算

来源:互联网 发布:mac地址几位 编辑:程序博客网 时间:2024/05/11 04:55

首先强调,addHeader必须在setAdapter之前调用。


1手动计算(headerCount为添加的header个数)



final headerCount = 1;
mListView.setOnItemClickListener(newOnItemClickListener() {
    @Override
    publicvoid onItemClick(AdapterView<?> parent, View view,
            intposition, long id) {
        Item item = myAdapter.getItem(position - headerCount);
    }
});

2上面的步骤ListView已经为我们提供了

当headerView被添加时,实际传递给ListView的adapter被包装,parent.getAdapter()返回被包装的Adapter(HeaderViewListAdapter)


 
mListView.setOnItemClickListener(newOnItemClickListener() {
    @Override
    publicvoid onItemClick(AdapterView<?> parent, View view,
            intposition, long id) {
        Item item = parent.getAdapter().getItem(position);
    }
});
0 0
原创粉丝点击