Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在多个活动之间使用复选框时出错_Java_Android_Checkbox_Android Activity_Settings - Fatal编程技术网

Java 在多个活动之间使用复选框时出错

Java 在多个活动之间使用复选框时出错,java,android,checkbox,android-activity,settings,Java,Android,Checkbox,Android Activity,Settings,我正试图在Eclipse上的应用程序中编写一个设置活动。在主活动中,它有一个运行特定命令的按钮。在“设置”活动中,我希望有一个复选框,当选中该复选框时,会更改主活动中的按钮在点击时运行的内容。现在,我有了它,所以当选中复选框时,它会更改布尔值并将其传递给主活动。当点击主活动中的按钮时,它会检查布尔值是否为真。所有这些都很好地工作,但是当我在这之后返回到设置活动时,复选框被取消选中。在我参加另一项活动后,我应该做些什么让它保持检查状态?我相信我发表的评论就是答案: 您需要保存活动的状态。可以在中找

我正试图在Eclipse上的应用程序中编写一个设置活动。在主活动中,它有一个运行特定命令的按钮。在“设置”活动中,我希望有一个复选框,当选中该复选框时,会更改主活动中的按钮在点击时运行的内容。现在,我有了它,所以当选中复选框时,它会更改布尔值并将其传递给主活动。当点击主活动中的按钮时,它会检查布尔值是否为真。所有这些都很好地工作,但是当我在这之后返回到设置活动时,复选框被取消选中。在我参加另一项活动后,我应该做些什么让它保持检查状态?

我相信我发表的评论就是答案:


您需要保存活动的状态。可以在中找到此信息,但简而言之,您需要覆盖这两种方法:

@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
  super.onSaveInstanceState(savedInstanceState);
}


您可以在android中使用共享首选项来存储状态。看看这个


您需要通过您所说的内容来保存活动的状态。我已经知道如何保存布尔值,但是如何保存复选框的状态?请看“确定”,我已经让它工作了。我必须这样做,但我也必须使用共享首选项。谢谢这显示了如何保存布尔值,但如何在返回活动时选中复选框?您可以在(创建活动方法时)中的“共享首选项”中选中该复选框的状态,并根据该复选框设置复选框,然后在用户更改选中状态时再次将更新的值放入“共享首选项”中。
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
  super.onRestoreInstanceState(savedInstanceState);

}