在實(shí)際開發(fā)中,我們有時(shí)候不僅需要響應(yīng)ListView的onItemClick,還需要響應(yīng)其子控件的點(diǎn)擊事件,這個(gè)時(shí)候我們就會(huì)
天水ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!
發(fā)現(xiàn),由于復(fù)用等原因,如果直接在子控件的onClick事件中調(diào)用getView()中的position,會(huì)出現(xiàn)數(shù)據(jù)或顯示錯(cuò)位的問
題,原因就是position的值出現(xiàn)了重復(fù)或不準(zhǔn)確,解決這個(gè)問題的方法是,在adapter每次加載數(shù)據(jù)的時(shí)候,為需要點(diǎn)擊
的控件設(shè)置一個(gè)tag值,這個(gè)tag值就設(shè)置為當(dāng)前這個(gè)控件對(duì)應(yīng)的position,然后在點(diǎn)擊事件中g(shù)ettag(),獲取這個(gè)position
即可:
getView()中:
holder.layoutSupport.setOnClickListener(supportListener); holder.layoutSupport.setTag(commentPos);
private View.OnClickListener supportListener = new View.OnClickListener() { @Override public void onClick(View v) { // Log.v("NewCommentAdapter", (Integer)v.getTag()+""); chosenPosition = (Integer) v.getTag(); } };
以上所述是小編給大家介紹的Android ListView 子控件onClick正確獲取position,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)創(chuàng)新互聯(lián)網(wǎng)站的支持!