我加載電話聯繫人數據導入到其中有一個TextView和一個CheckBox作爲行一個ListView。手柄回收複選框內的ListView與ResourceCursorAdapter
我面臨的問題是在處理複選框,有一次我在ListView上任何項目的檢查, 它被選中,但是當我向下滾動ListView的項目得到檢查automatically
一組新的行,這只是happeing因爲列表視圖回收的東西,但我怎麼能處理這一個複選框
我使用ResourceCursorAdapter
和使用bindView和NewView的方法。
我看到他們說來存儲複選框的狀態的線程數,但他們是not for ResourceCursorAdapter
,所以如何將這種方法?
到目前爲止,我嘗試以下based on RateListDemo of commonsware
public View getView (final int position, View convertView, ViewGroup parent) {
View row = super.getView(position, convertView, parent);
ContactListItemCache holder=(ContactListItemCache)row.getTag();
if (holder==null) {
holder=new ContactListItemCache(row);
row.setTag(holder);
/** I really don't know what to set over here **/
CheckBox cbox=(CheckBox)row.findViewById(R.id.contactCheck);
cbox.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
Log.d("Check check",position+"");
}
});
/** I really don't know what to set over here too **/
holder.selCheckBox =cbox;
holder.selCheckBox.setTag(new Integer(position));
}
return row;
}
這裏是我的ContactListItemCache
final static class ContactListItemCache {
public TextView nameView;
public QuickContactBadge photoView;
public CheckBox selCheckBox;
public CharArrayBuffer nameBuffer = new CharArrayBuffer(128);
public CharArrayBuffer nameMiddleBuffer = new CharArrayBuffer(128);
public CharArrayBuffer nameFamilyBuffer = new CharArrayBuffer(128);
/** Following Changes I have Made **/
ContactListItemCache(){}
ContactListItemCache(View base){
selCheckBox = (CheckBox)base.findViewById(R.id.contactCheck);
}
}
我試過用資源適配器但沒有工作 – Hunt 2012-02-25 21:59:04