我有一个带有适配器的自定义列表视图的活动。我通过选中复选框选择多个名称。当按下OK按钮时,我将所选值恢复为上一个活动。重新打开活动时,复选框中已选择的值不会再次重新检查。如何解决这个问题? 代码
mainList[n]
答案 0 :(得分:0)
您应该将选中的姓名保存在SharedPreferences
中(例如)并检查您的活动的onCreate()
首选项以设置之前的值。
重新打开时,活动从0创建。
<强>更新强>
传递选中的值:
long[] checkedPositions = new long[]{1, 2, 6, 9, 12}; //Example checked positions
Intent intent = new Intent(context, Activity.class);
intent.putExtra("checked_names", checkedPositions);
context.startActivity(intent);
要检查复选框,您可以在新活动中创建适配器后使用适配器的方法:
public void setChecked(int position, boolean isChecked) {
mCheckStates.put(position, isChecked);
}
或者你可以创建一个新的构造函数。