您好,登錄后才能下訂單哦!
onItemLongClick方法第二個參數(shù):view,這里的view是你按中的位置對應(yīng)的view。view有個方法getTag(int key)。如果在創(chuàng)建此view的時候就把groupPos,childPos通過setTag(int key, Object value)設(shè)置進去。
要把groupPos,childPos通過setTag的方式綁定到view中,就必須操作該view的創(chuàng)建過程。要控制這個過程就必須要在自定義BaseExpandableListAdapter中重寫getGroupView及getChildView方法進行操作。
@Override
public View getChildView(int groupPosition, int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
//我這里僅通過自己寫的mkChildView()方法創(chuàng)建TextView來顯示文字,更復(fù)雜的可以通過 LayoutInflater來填充一個view
TextView childTv = mkChildView();
// 標記位置
// 必須使用資源Id當key(不是資源id會出現(xiàn)運行時異常),android本意應(yīng)該是想用tag來保存資源id對應(yīng)組件。
// 將groupPosition,childPosition通過setTag保存,在onItemLongClick方法中就可以通過view參數(shù)直接拿到了!
childTv.setTag(R.id.xxx01, groupPosition);
childTv.setTag(R.id.xxx02, childPosition);
return childTv;
}
@Override
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
TextView groupTv = mkGroupView();
// 設(shè)置同getChildView一樣
groupTv.setTag(R.id.xxx01, groupPosition);
groupTv.setTag(R.id.xxx02, -1); //設(shè)置-1表示長按時點擊的是父項,到時好判斷。
groupTv.setText(groups[groupPosition]);
return groupTv;
}
詳細出處參考:http://www.jb51.net/article/38521.htm
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。