gpt4 book ai didi

java - Android 保存并检查,单选按钮

转载 作者:行者123 更新时间:2023-12-01 13:20:00 25 4
gpt4 key购买 nike

抱歉我的英语不好。

我有两个类,

1 MainActivity.java(标准)2 settings.java(用于设置)

我有一个带有 5 个 RadiobuttonsRadioGroup

我按如下方式保存单选按钮的状态(在 settings.java 类中):

@Override
public void onClick(View v) {
// TODO Auto-generated method stub

SharedPreferences settings = getSharedPreferences("status", 0);
SharedPreferences.Editor editor = settings.edit();

editor.putBoolean("blue", blue.isChecked());
editor.putBoolean("orange", orange.isChecked());
editor.putBoolean("purple", purple.isChecked());
editor.putBoolean("grey", grey.isChecked());
editor.putBoolean("green", green.isChecked());
editor.commit();

}


public void loadSettings () {



SharedPreferences settings = getSharedPreferences("status", 0);

royalBlue.setChecked(settings.getBoolean("blue", false));
orange.setChecked(settings.getBoolean("orange", false));
purple.setChecked(settings.getBoolean("purple", false));
titan.setChecked(settings.getBoolean("grey", false));
eighties.setChecked(settings.getBoolean("green", false));

}

单选按钮的状态已成功保存。即使重新启动应用程序后,单选按钮也会保存。

我现在希望当选择 RadioButton 橙色(或其他)时,ImageButton 将更改我的图像。我想在 MainActivity 中进行。

我已经在主 Activity 中尝试过,但我总是得到一个 NullPoinException:

来自主程序的代码...

private settings load = new settings();
...
...
public void change (){
if (load.orange.isChecked()){
imBuOn.setImageResource(R.drawable.orange);
}

正如我所说,不幸的是我无法访问单选按钮的状态。

我是否需要使用PreferenceManager?我该怎么说最好呢?

最佳答案

您不需要创建 settings 类的实例并获取 checkBox 的值。相反,您应该只使用 loadSettings 方法中给出的相同代码,因为您只是访问 SharedPreferences 文件。

所以,在你的 MainActivity 中,只需运行这个

private void checkAndSetImage()
{
SharedPreferences settings = getSharedPreferences("status", 0);
if(settings.getBoolean("orange", false))
{
imBuOn.setImageResource(R.drawable.orange);
}
}

只需在适用的地方调用此函数即可。

关于java - Android 保存并检查,单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22117826/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com