ListView的setOnItemClickListener位置錯(cuò)亂問(wèn)題
如果你對(duì)一個(gè)ListView同時(shí)addHeaderView(listhHeaderView),也就是頭部視圖,再加setAdapter,當(dāng)你加上setOnItemClickListener事件后你會(huì)發(fā)現(xiàn)setAdapter所對(duì)應(yīng)的位置(position)和setOnItemClickListener所對(duì)應(yīng)的位置不一樣,實(shí)際上是因?yàn)閟etOnItemClickListener算addHeaderView的為第一個(gè)item,而adapter不算,所以setOnItemClickListener所點(diǎn)擊的是下一個(gè)的Item,解決方法是setOnItemClickListener里面那個(gè)position參數(shù)-1,示例代碼:
messageListView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View v, int position, long id) { // TODO Auto-generated method stub position = position - 1; doSomething(); } });
這應(yīng)該算是缺陷。
原創(chuàng)作者:http://www.rzrgm.cn/huangsheng/

浙公網(wǎng)安備 33010602011771號(hào)