有人可以解释制作复选框列表和保存选中选项的不同方法吗?如果你能附上例子,那就太好了。我正在使用arraylist来保存输入,还有其他方法吗?
final CharSequence[] items = {};
final ArrayList seletedItems = new ArrayList();
答案 0 :(得分:0)
您可以为对象创建自定义类,例如
public class entity
{
public boolean isChecked;
//Any other variables can also be created
}
在复选框选择中更改
的值entityobj[index].isChecked=true/false;
应用自定义列表适配器, 在适配器getview()方法中,您可以检查isChecked值,然后选中或取消选中相应的复选框, 使用此选项将在滚动时保持选择状态.. 希望它会有所帮助...
答案 1 :(得分:0)
将ListItem对象定义为具有“已检查”字段
class ListItem{
boolean isChecked=false;
}
在列表适配器中getView
将onCheckedChangeListener
附加到CheckBox
并更改对象的已检查状态。类似的东西:
final MessageItem Message=getItem(position);
message.setText(Message.text);
//set data
select.setOnCheckedChangeListener(null); //important so that when reusing the view the old listener isn't called
select.setChecked(Message.selected);
select.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// TODO Auto-generated method stub
Message.selected=isChecked;
}
});