【发布时间】:2012-10-16 08:52:49
【问题描述】:
可能重复:
Getting an issue while checking the dynamically generated checkbox through list view
我有带有复选框的列表视图。默认情况下,所有复选框都被选中。之后,一些复选框未选中并自动选中这些复选框。但我希望在滚动列表视图后选中这些复选框。 我的代码是:
public class FriendListAdapter extends BaseAdapter {
private LayoutInflater mInflater;
DrunkMessages friendsList;
boolean[] checkBoxState;
public FriendListAdapter(DrunkMessages friendsList) {
this.friendsList = friendsList;
if (Utility.model == null) {
Utility.model = new FriendsGetProfilePics();
}
Utility.model.setListener(this);
mInflater = LayoutInflater.from(friendsList.getBaseContext());
checkBoxState=new boolean[jsonArray.length()];
}
public int getCount() {
return jsonArray.length();
}
public Object getItem(int position) {
return null;
}
public long getItemId(int position) {
return 0;
}
public View getView(final int position, View convertView, ViewGroup parent) {
View hView = getLayoutInflater().inflate(R.layout.friendslist, null);
ImageView profile_pic = (ImageView) hView.findViewById(R.id.profile_pic);
TextView name = (TextView) hView.findViewById(R.id.name);
final CheckBox checkbox=(CheckBox)hView.findViewById(R.id.checkbox);
profile_pic.setImageBitmap(Utility.model.getImage(friendid[position], pictures[position]));
name.setText(names[position]);
checkbox.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if(((CheckBox)v).isChecked()){
checkBoxState[position]=true;
status[position]="1";
Log.e("checked","checked");
Log.e("Checked",status[position]);
}
else{
checkBoxState[position]=false;
status[position]="0";
Log.e("checked","unchecked");
Log.e("Checked",status[position]);
}
}
});
return hView;
}
【问题讨论】:
-
您可以使用带有 simple_list_item_multiple_choice 属性的列表视图,而不是为复选框膨胀另一个 xml。像这个适配器 = new ArrayAdapter
(this,android.R.layout.simple_list_item_multiple_choice,objectOfList);
标签: android