Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.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
Android如何过滤显示的首选项_Android_Sharedpreferences_Preferences_Checkboxpreference - Fatal编程技术网

Android如何过滤显示的首选项

Android如何过滤显示的首选项,android,sharedpreferences,preferences,checkboxpreference,Android,Sharedpreferences,Preferences,Checkboxpreference,我有两个首选页面。根据首选项页面“一”上显示的复选框,我想显示复选框首选项,或者不在“二”页面上显示它。我知道我应该在页面“2”的活动中添加一种方法来处理是否选中了页面“1”中的复选框。但我不知道如何引用该复选框。通过编程方式获取对复选框的引用来保存复选框的状态,将其状态保存为首选项,将其传递给intent(通过intent.putExtras();)或将其保存在SharedReferences中,然后在第二个活动中检查CheckBoxPreference.isChecked()然后有条件地加载

我有两个首选页面。根据首选项页面“一”上显示的复选框,我想显示复选框首选项,或者不在“二”页面上显示它。我知道我应该在页面“2”的活动中添加一种方法来处理是否选中了页面“1”中的复选框。但我不知道如何引用该复选框。

通过编程方式获取对复选框的引用来保存复选框的状态,将其状态保存为首选项,将其传递给intent(通过
intent.putExtras();
)或将其保存在SharedReferences中,然后在第二个活动中检查CheckBoxPreference.isChecked()然后有条件地加载首选项。查看更多信息。

您可以使用名为StaticValues的类并添加一个布尔变量

public static boolean isCheckBoxChecked;
选中复选框后,将此变量设置为true:

StaticValues.isCheckBoxChecked = true;

在显示首选项页面2时,您可以选中此变量,并决定是否显示下一个复选框。

您可以提供一个如何执行此操作的示例吗?我的问题是,我不知道如何从xml中引用CheckBoxPreference。引用CheckBoxPreference的方式与引用xml中定义的任何其他对象的方式相同,例如:CheckBoxPreference checkBox=(CheckBoxPreference)findViewById(R.id.yourCheckBox)。