单选按钮和微调共享preferences? [英] radiobuttons and spinners in shared preferences?
本文介绍了单选按钮和微调共享preferences?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有两个单选按钮的性别在RadioGroup中
1)男
2)女性
我想将其存储在共享preferences和检索它,当我再次打开它。
还有我想保存微调共享preferences我怎么能保存它。
解决方案
//尝试这种方式,希望这将有助于你...
activity_main.xml
< LinearLayout中的xmlns:机器人=http://schemas.android.com/apk/res/android
机器人:layout_height =match_parent
机器人:layout_width =match_parent>
< RadioGroup中
机器人:ID =@ + ID / rdgGender
机器人:layout_width =WRAP_CONTENT
机器人:layout_height =WRAP_CONTENT>
<单选按钮
机器人:ID =@ + ID / rdbMale
机器人:layout_width =WRAP_CONTENT
机器人:layout_height =WRAP_CONTENT
机器人:文本=男/>
<单选按钮
机器人:ID =@ + ID / rdbFemale
机器人:layout_width =WRAP_CONTENT
机器人:layout_height =WRAP_CONTENT
机器人:文本=女/>
< / RadioGroup中>
< / LinearLayout中>
MainActivity.java
公共类MainActivity延伸活动{
私人RadioGroup中rdgGender;
私人单选rdbMale;
私人单选rdbFemale;
@覆盖
公共无效的onCreate(包savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.activity_main);
rdgGender =(RadioGroup中)findViewById(R.id.rdgGender);
rdbMale =(单选)findViewById(R.id.rdbMale);
rdbFemale =(单选)findViewById(R.id.rdbFemale);
rdgGender.setOnCheckedChangeListener(新RadioGroup.OnCheckedChangeListener(){
@覆盖
公共无效onCheckedChanged(RadioGroup中组,诠释checkedId){
共享preferences共享preferences = getShared preferences(的getString(R.string.app_name),MODE_PRIVATE);
共享preferences.Editor编辑=共享preferences.edit();
开关(checkedId){
案例R.id.rdbMale:
editor.putInt(genderValue,R.id.rdbMale);
打破;
案例R.id.rdbFemale:
editor.putInt(genderValue,R.id.rdbFemale);
打破;
}
editor.commit();
}
});
共享preferences共享preferences = getShared preferences(的getString(R.string.app_name),MODE_PRIVATE);
开关(共享preferences.getInt(genderValue,R.id.rdbMale)){
案例R.id.rdbMale:
rdbMale.setChecked(真正的);
打破;
案例R.id.rdbFemale:
rdbFemale.setChecked(真正的);
打破;
}
}
}
I have two RadioButtons for Gender in RadioGroup
1)Male
2)Female
and I want to store it in sharedpreferences and retrieve it when i open it again.
As well as i want to save spinner in sharedpreferences how can i be able to save it.
解决方案
// Try this way,hope this will help you...
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent"
android:layout_width="match_parent">
<RadioGroup
android:id="@+id/rdgGender"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<RadioButton
android:id="@+id/rdbMale"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Male"/>
<RadioButton
android:id="@+id/rdbFemale"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Female"/>
</RadioGroup>
</LinearLayout>
MainActivity.java
public class MainActivity extends Activity{
private RadioGroup rdgGender;
private RadioButton rdbMale;
private RadioButton rdbFemale;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
rdgGender = (RadioGroup) findViewById(R.id.rdgGender);
rdbMale = (RadioButton) findViewById(R.id.rdbMale);
rdbFemale = (RadioButton) findViewById(R.id.rdbFemale);
rdgGender.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
SharedPreferences sharedPreferences = getSharedPreferences(getString(R.string.app_name), MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
switch (checkedId){
case R.id.rdbMale:
editor.putInt("genderValue", R.id.rdbMale);
break;
case R.id.rdbFemale:
editor.putInt("genderValue",R.id.rdbFemale);
break;
}
editor.commit();
}
});
SharedPreferences sharedPreferences = getSharedPreferences(getString(R.string.app_name), MODE_PRIVATE);
switch (sharedPreferences.getInt("genderValue",R.id.rdbMale)){
case R.id.rdbMale:
rdbMale.setChecked(true);
break;
case R.id.rdbFemale:
rdbFemale.setChecked(true);
break;
}
}
}
这篇关于单选按钮和微调共享preferences?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文