Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.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 RadioGroup未保存首选项_Android_Eclipse_Sharedpreferences_Radio Group - Fatal编程技术网

Android RadioGroup未保存首选项

Android RadioGroup未保存首选项,android,eclipse,sharedpreferences,radio-group,Android,Eclipse,Sharedpreferences,Radio Group,我有以下代码: 这是在onCreate中-我试图在这里设置单选按钮的默认值,这将是单选按钮上的预选值 pref = getSharedPreferences(Constants.PREF_SETTINGS, 0); RadioGroup rg_numberOfQuestions = (RadioGroup) findViewById(R.id.radioGroupQuestions); int select

我有以下代码:

这是在onCreate中-我试图在这里设置单选按钮的默认值,这将是单选按钮上的预选值

pref = getSharedPreferences(Constants.PREF_SETTINGS, 0);                            

        RadioGroup rg_numberOfQuestions = (RadioGroup) findViewById(R.id.radioGroupQuestions);
        int selectedOption = rg_numberOfQuestions.getCheckedRadioButtonId();    
        rb_NumberOfQuestions = (RadioButton) findViewById(selectedOption);      
        rg_numberOfQuestions.setOnCheckedChangeListener(this);      

        final RadioGroup rg_numbersBetween = (RadioGroup) findViewById(R.id.radioGroupNumbersBetween);
        selectedOption = rg_numbersBetween.getCheckedRadioButtonId();   
        rb_NumbersBetween = (RadioButton) findViewById(selectedOption);
        rg_numbersBetween.setOnCheckedChangeListener(this);

@Override
    public void onCheckedChanged(RadioGroup rg, int i) {                        
        switch (rg.getCheckedRadioButtonId())
        {
        case R.id.rb_0to10:
            savePref("rb_0to10", rg.getCheckedRadioButtonId());         
            break;

        case R.id.rb_0to25:
            savePref("rb_0to25", rg.getCheckedRadioButtonId());     
            break;

        case R.id.rb_0to50:
            savePref("rb_0to50", rg.getCheckedRadioButtonId());
            break;
        case R.id.rb_15:
            savePref("rb_15", rg.getCheckedRadioButtonId());
            break;

        case R.id.rb_25:
            savePref("rb_25", rg.getCheckedRadioButtonId());
            break;

        case R.id.rb_50:
            savePref("rb_50", rg.getCheckedRadioButtonId());
            break;          
        }       
    }   


private void savePref(String key, int value) {
        pref = getSharedPreferences(Constants.PREF_SETTINGS, 0);
        editor = pref.edit();
        editor.putInt(key, value);      
        editor.commit();
    }

上述代码在第一次获得第一个单选按钮的默认值时起作用。但是,无论我选择了其他哪个单选按钮,它都不起作用,它没有保存按钮单击值,它总是会得到第一个单选按钮。

似乎
共享首选项的初始化不正确。你能试试下面的代码吗@

private void savePref(String key, int value) {
      pref = getSharedPreferences("ANYNAME",Context.MODE_PRIVATE);
        editor = pref.edit();
        editor.putInt(key, value);      
        editor.commit();
    }

似乎
股票优先权的初始化不正确。你能试试下面的代码吗@

private void savePref(String key, int value) {
      pref = getSharedPreferences("ANYNAME",Context.MODE_PRIVATE);
        editor = pref.edit();
        editor.putInt(key, value);      
        editor.commit();
    }

似乎
股票优先权的初始化不正确。你能试试下面的代码吗@

private void savePref(String key, int value) {
      pref = getSharedPreferences("ANYNAME",Context.MODE_PRIVATE);
        editor = pref.edit();
        editor.putInt(key, value);      
        editor.commit();
    }

似乎
股票优先权的初始化不正确。你能试试下面的代码吗@

private void savePref(String key, int value) {
      pref = getSharedPreferences("ANYNAME",Context.MODE_PRIVATE);
        editor = pref.edit();
        editor.putInt(key, value);      
        editor.commit();
    }
您可以在DDMS中看到值本身:

以下是用于调试的图像,请参见Shared Pref中的值:

您也可以在任何位置拉入和推送文件。。。在中查看值 共享pref单击该文件

在右上方有两个手机图标,上面有粉色箭头 你可以推拉共享的pref文件

您可以在DDMS中看到值本身:

以下是用于调试的图像,请参见Shared Pref中的值:

您也可以在任何位置拉入和推送文件。。。在中查看值 共享pref单击该文件

在右上方有两个手机图标,上面有粉色箭头 你可以推拉共享的pref文件

您可以在DDMS中看到值本身:

以下是用于调试的图像,请参见Shared Pref中的值:

您也可以在任何位置拉入和推送文件。。。在中查看值 共享pref单击该文件

在右上方有两个手机图标,上面有粉色箭头 你可以推拉共享的pref文件

您可以在DDMS中看到值本身:

以下是用于调试的图像,请参见Shared Pref中的值:

您也可以在任何位置拉入和推送文件。。。在中查看值 共享pref单击该文件

在右上方有两个手机图标,上面有粉色箭头 你可以推拉共享的pref文件


请尝试此代码段。。它工作完美

OnCreate方法代码:

        pref = getSharedPreferences(Constants.PREF_SETTINGS, 0); 

        rg_numberOfQuestions = (RadioGroup) findViewById(R.id.radioGroup1);
        rb_1 = (RadioButton) findViewById(R.id.radioOne);
        rb_1.setOnCheckedChangeListener(this);


        rb_2 = (RadioButton) findViewById(R.id.radioTwo);
        rb_2.setOnCheckedChangeListener(this);

        rb_3 = (RadioButton) findViewById(R.id.radioThree);
        rb_3.setOnCheckedChangeListener(this);


        int selected_radio_button = pref.getInt("radio", 0);
        if(selected_radio_button!=0)
        {
            RadioButton  button = (RadioButton) findViewById(selected_radio_button);
            button.setChecked(true);
        }
和侦听器代码:

@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
    if(isChecked)
    {
        Editor editor = pref.edit();
        editor.putInt("radio", buttonView.getId());
        editor.commit();
    }
}

请尝试此代码段。。它工作完美

OnCreate方法代码:

        pref = getSharedPreferences(Constants.PREF_SETTINGS, 0); 

        rg_numberOfQuestions = (RadioGroup) findViewById(R.id.radioGroup1);
        rb_1 = (RadioButton) findViewById(R.id.radioOne);
        rb_1.setOnCheckedChangeListener(this);


        rb_2 = (RadioButton) findViewById(R.id.radioTwo);
        rb_2.setOnCheckedChangeListener(this);

        rb_3 = (RadioButton) findViewById(R.id.radioThree);
        rb_3.setOnCheckedChangeListener(this);


        int selected_radio_button = pref.getInt("radio", 0);
        if(selected_radio_button!=0)
        {
            RadioButton  button = (RadioButton) findViewById(selected_radio_button);
            button.setChecked(true);
        }
和侦听器代码:

@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
    if(isChecked)
    {
        Editor editor = pref.edit();
        editor.putInt("radio", buttonView.getId());
        editor.commit();
    }
}

请尝试此代码段。。它工作完美

OnCreate方法代码:

        pref = getSharedPreferences(Constants.PREF_SETTINGS, 0); 

        rg_numberOfQuestions = (RadioGroup) findViewById(R.id.radioGroup1);
        rb_1 = (RadioButton) findViewById(R.id.radioOne);
        rb_1.setOnCheckedChangeListener(this);


        rb_2 = (RadioButton) findViewById(R.id.radioTwo);
        rb_2.setOnCheckedChangeListener(this);

        rb_3 = (RadioButton) findViewById(R.id.radioThree);
        rb_3.setOnCheckedChangeListener(this);


        int selected_radio_button = pref.getInt("radio", 0);
        if(selected_radio_button!=0)
        {
            RadioButton  button = (RadioButton) findViewById(selected_radio_button);
            button.setChecked(true);
        }
和侦听器代码:

@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
    if(isChecked)
    {
        Editor editor = pref.edit();
        editor.putInt("radio", buttonView.getId());
        editor.commit();
    }
}

请尝试此代码段。。它工作完美

OnCreate方法代码:

        pref = getSharedPreferences(Constants.PREF_SETTINGS, 0); 

        rg_numberOfQuestions = (RadioGroup) findViewById(R.id.radioGroup1);
        rb_1 = (RadioButton) findViewById(R.id.radioOne);
        rb_1.setOnCheckedChangeListener(this);


        rb_2 = (RadioButton) findViewById(R.id.radioTwo);
        rb_2.setOnCheckedChangeListener(this);

        rb_3 = (RadioButton) findViewById(R.id.radioThree);
        rb_3.setOnCheckedChangeListener(this);


        int selected_radio_button = pref.getInt("radio", 0);
        if(selected_radio_button!=0)
        {
            RadioButton  button = (RadioButton) findViewById(selected_radio_button);
            button.setChecked(true);
        }
和侦听器代码:

@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
    if(isChecked)
    {
        Editor editor = pref.edit();
        editor.putInt("radio", buttonView.getId());
        editor.commit();
    }
}


你不给你的pref命名,而不是获取常量。pref_SETTINGS@MT8-我给它起了一个名字,它进入Constants类并获取字符串名称OK你在ddms中看到新值是否正在存储?@MT8-很抱歉,android开发是新的。我应该在哪里查看ddms下的值?我还应该在调试模式下运行以查看这些值吗?或者我可以直接看到它们?在编辑器将其添加到pref之前,请尝试删除。删除(键);你不给你的pref命名,而不是获取常量。pref_SETTINGS@MT8-我给它起了一个名字,它进入Constants类并获取字符串名称OK你在ddms中看到新值是否正在存储?@MT8-很抱歉,android开发是新的。我应该在哪里查看ddms下的值?我还应该在调试模式下运行以查看这些值吗?或者我可以直接看到它们?在编辑器将其添加到pref之前,请尝试删除。删除(键);你不给你的pref命名,而不是获取常量。pref_SETTINGS@MT8-我给它起了一个名字,它进入Constants类并获取字符串名称OK你在ddms中看到新值是否正在存储?@MT8-很抱歉,android开发是新的。我应该在哪里查看ddms下的值?我还应该在调试模式下运行以查看这些值吗?或者我可以直接看到它们?在编辑器将其添加到pref之前,请尝试删除。删除(键);你不给你的pref命名,而不是获取常量。pref_SETTINGS@MT8-我给它起了一个名字,它进入Constants类并获取字符串名称OK你在ddms中看到新值是否正在存储?@MT8-很抱歉,android开发是新的。我应该在哪里查看ddms下的值?我还应该在调试模式下运行以查看这些值吗?或者我可以直接看到它们?在编辑器将其添加到pref之前,请尝试删除。删除(键);这个答案对于使用文件资源管理器上的shared pref进行调试非常有用,但是我如何找到它下面的shared_pref文件夹呢?我没有看到你上面看到的应用程序名称?有数据文件夹->有嵌套的数据文件夹->有软件包名称->然后有共享的pref文件夹->在那里你可以找到你的文件这个答案对于使用共享pref进行调试很有帮助。上传到文件资源管理器-但是我如何找到它下面的共享pref文件夹呢?我没有看到你上面看到的应用程序名称?有数据文件夹->有嵌套的数据文件夹->有软件包名称->然后有共享的pref文件夹->在那里你可以找到你的文件这个答案对于使用共享pref进行调试很有帮助。上传到文件资源管理器-但是我如何找到它下面的共享pref文件夹呢?我没有看到你上面看到的应用程序名称?有数据文件夹->有嵌套的数据文件夹->有软件包名称->然后有共享的pref文件夹->在那里你可以找到你的文件这个答案对于使用共享pref进行调试很有帮助。上传到文件资源管理器-但是我如何找到它下面的共享pref文件夹呢?我没有看到像你上面看到的应用程序名称?有数据文件夹->有嵌套的数据文件夹->有包名->然后有共享的pref文件夹->在那里你可以找到你的文件