在實際開發中,我們有時候不僅需要響應ListView的onItemClick,還需要響應其子控件的點擊事件,這個時候我們就會
發現,由于復用等原因,如果直接在子控件的onClick事件中調用getView()中的position,會出現數據或顯示錯位的問
題,原因就是position的值出現了重復或不準確,解決這個問題的方法是,在adapter每次加載數據的時候,為需要點擊
的控件設置一個tag值,這個tag值就設置為當前這個控件對應的position,然后在點擊事件中gettag(),獲取這個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,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!
新聞熱點
疑難解答