各行にチェックボックスのあるリストビューがあります。チェックボックスを選択して画面をスクロールすると、各項目のチェックボックスがランダムに変更されます。つまり、チェックを外すとチェックボックスがオフになり、チェックボックスをオフのままにして、もう一度上にスクロールすると、チェックされたものがオフになり、チェックボックスの問題があるこの質問のAndroidリストビューを見つけました、そしてユーザーはそれが彼らを助けると言います、しかし私は私が何をしているのか理解できません、そして助けてください
これは私のアダプターです
class RestaurantAdapter extends BaseAdapter {
private static LayoutInflater inflater = null;
private ArrayList<HashMap<String, String>> data;
Activity activity;
public RestaurantAdapter(Activity activity,
ArrayList<HashMap<String, String>> data) {
// TODO Auto-generated constructor stub
this.activity = activity;
this.data = data;
inflater = (LayoutInflater) activity
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return data.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View vi = convertView;
if (vi == null)
vi = inflater.inflate(R.layout.restaurant_multi_select_list_item,
null);
TextView name = (TextView) vi
.findViewById(R.id.restaurant_multi_select_title);
ImageView image = (ImageView) vi
.findViewById(R.id.restaurant_multi_select_list_item_image);
CheckBox cb = (CheckBox) vi
.findViewById(R.id.restaurant_multi_select_checkBox);
HashMap<String, String> restaurant = data.get(position);
name.setText(restaurant.get("name"));
image.setImageResource(Integer.parseInt(restaurant.get("image")));
return vi;
}
}