Android RadioGroup未保存首选项
我有以下代码: 这是在onCreate中-我试图在这里设置单选按钮的默认值,这将是单选按钮上的预选值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
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文件夹->在那里你可以找到你的文件