选择android中Listview的所有复选框
我正在使用自定义对话框,其中显示了带有复选框的列表视图。我想通过单击对话框中的按钮来选择列表视图的所有复选框 这是我的按钮选择android中Listview的所有复选框,android,Android,我正在使用自定义对话框,其中显示了带有复选框的列表视图。我想通过单击对话框中的按钮来选择列表视图的所有复选框 这是我的按钮 selectAll.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { for (int i = 0; i < listView.getChildCount(
selectAll.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
for (int i = 0; i < listView.getChildCount(); i++) {
LinearLayout myLayout =(LinearLayout)listView.getChildAt(i);
CheckBox cb = (CheckBox) myLayout.findViewById(R.id.checkbox);
cb.setChecked(true);
}
}
});
selectAll.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
对于(int i=0;i
使用上面的代码,我只能选中那些在视图中的复选框。
我知道这是因为listView重用了视图。
请建议我怎么做您可以将布尔变量添加到您的模型类中,并在您的按钮单击侦听器上设置为true,请检查以下内容:
class YourModel{
public boolean isSelected() {
return isSelected;
}
public void setSelected(boolean selected) {
isSelected = selected;
}
}
你的按钮一次点击改变
public void onClick(View view) {
for (int i = 0; i < yourArrayList.size(); i++) {
yourArrayList.get(i).setSelected(true);
}
yourAdapter.notifyDataSetChanged();
}
您可以在listview模型类中添加布尔值,该类在对话框按钮单击时设置为true,并在listview适配器中选中if(boolean==true)复选框。选中复选框后,当我关闭并重新打开它时,我选中的所有复选框都应保持选中状态。是否希望所有复选框都应被选中ri8?如果是,则在应用程序共享首选项中放置一个布尔标志,如“is_selected”true=如果选中,否则false&在activity onCreate方法上获取此标志,此标志的基础是do it selected标记,也可以单击将此值存储在应用程序共享首选项上。
public View getView ( final int position, View convertView, ViewGroup parent){
CheckBox cb = (CheckBox) myLayout.findViewById(R.id.checkbox);
cb.setChecked(yourModel.isSelected());
}