【发布时间】:2017-05-03 11:50:13
【问题描述】:
我有一个看起来像这样的 Activity - 列表视图的长度是动态的并且可以改变;
现在,我已经根据数组的长度声明并初始化了复选框。 当用户单击“保存”时,我需要保存这些框的状态。我如何实现这一目标?我编写了以下代码,但没有输入,即即使复选框已初始化,我认为活动不知道哪个复选框声明用于活动上的哪个复选框。请帮忙 - 谢谢!
cbs = new CheckBox[length];
for (int i=0;i<length;i++){
cbs[i] = new CheckBox(ThisActivity.this);
}
btnSave.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DoOnBtnClick(v);
}
});
}
public void DoOnBtnClick (View v) {
for(int i = 0; i < cbs.length; i++){
if(cbs[i].isChecked()){
selectedCheckboxes.add(toInt(cbs[i].getTag()));
Log.e("GET TAG",Integer.toString(toInt(cbs[i].getTag())));
}
}
}
【问题讨论】:
-
当用户杀死应用程序或关闭活动时,您是否要保留复选框状态数据......?
-
嗨,是的,我想。谢谢...请帮忙。
-
动态创建
CheckBox的任何特殊原因?使用模型类来存储CheckBox的状态。使用Sharedpreference在应用退出时保存模型类数据。 -
我是新手。请帮助我了解如何做到这一点。
标签: java android listview checkbox sharedpreferences