重新打开活动时,不会重新检查带有复选框值的自定义适配器

时间:2017-11-21 09:23:45

标签: android android-arrayadapter android-adapter recycler-adapter

我有一个带有适配器的自定义列表视图的活动。我通过选中复选框选择多个名称。当按下OK按钮时,我将所选值恢复为上一个活动。重新打开活动时,复选框中已选择的值不会再次重新检查。如何解决这个问题? 代码

mainList[n]

1 个答案:

答案 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);

}

或者你可以创建一个新的构造函数。