3
我有一個用於listview的自定義適配器。 listview有一個複選框,但當我向下滾動然後向上滾動時,複選框不會保持被選中狀態。我有一個模型,並在模型中爲「選定」布爾值。這是我的適配器,任何人都可以告訴我我做錯了什麼?我已經嘗試了多次,似乎沒有任何工作。未選中複選框自定義適配器
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
View row = convertView;
if(convertView == null){
LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
row = inflater.inflate(R.layout.list_item_row_friends, null);
CheckBox friend_checkbox = (CheckBox)row.findViewById(R.id.friends_checkbox);
if(data.get(position).selected) {
friend_checkbox.setChecked(true);
} else {
friend_checkbox.setChecked(false);
}
}
CheckBox friend_checkbox = (CheckBox)row.findViewById(R.id.friends_checkbox);
friend_checkbox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
data.get(position).setSelected(isChecked);
Log.d("FriendAdapter", data.get(position).selected + "");
}
});
發生bcoz listview回收views.https://groups.google.com/forum/#!topic/android-developers/No0LrgJ6q2M – Raghunandan