Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.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 Android保存和检查,单选按钮_Java_Android_Preferences - Fatal编程技术网

Java Android保存和检查,单选按钮

Java Android保存和检查,单选按钮,java,android,preferences,Java,Android,Preferences,对不起,我的英语不好 我有两门课 1MainActivity.java(标准) 2settings.java(用于设置) 我有一个带有5个单选按钮的RadioGroup 我将单选按钮的状态保存如下(在to settings.java类中): 单选按钮的状态已成功保存。即使重新启动应用程序,单选按钮也会被保存 我想现在当选择了单选按钮橙色(或其他)时,图像按钮将更改我的图像。我想在main活动中进行修改 我已经在主要活动中尝试过,但我总是得到一个NullPoinException: 代码从主 pr

对不起,我的英语不好

我有两门课

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

我有一个带有5个单选按钮的
RadioGroup

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

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

我想现在当选择了
单选按钮
橙色(或其他)时,
图像按钮
将更改我的图像。我想在
main活动中进行修改

我已经在主要活动中尝试过,但我总是得到一个
NullPoinException

代码从主

private settings load = new settings();
...
...
public void change (){
   if (load.orange.isChecked()){
        imBuOn.setImageResource(R.drawable.orange);
    }
正如我所说,很不幸,我无法访问单选按钮的状态


我是否需要使用首选项管理器?我该怎么说呢

您不需要创建
设置
类的实例并获取
复选框的值。相反,您应该使用与
loadSettings
方法中给出的代码相同的代码,因为您只是在访问
SharedReferences
文件

因此,在您的主要活动中,只需运行此

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

只要在适当的地方调用此函数。

是否尝试在MainActivity中获取SharedReference,然后设置ImageView?是的,这就是我正在尝试的。
private void checkAndSetImage()
{
     SharedPreferences settings = getSharedPreferences("status", 0);
     if(settings.getBoolean("orange", false))
     {
         imBuOn.setImageResource(R.drawable.orange);
     }
}