Android在sharedpreferences中存储无线电组ID并加载它 [英] Android store radiogroup id in sharedpreferences and load it
问题描述
在我的App中,我想打开一个对话框,其中有一个带有一些项目的广播组(每个项目应该是一个Activity),用户可以从中进行选择.所选项目/ID应该存储在sharedpreferences中.该ID会在每次启动应用时加载并打开所选的项目/活动.
In my App i want to open a dialog window with a radiogroup with some items (each item should be an activity ) the user can choose from. The chosen item/ID should get stored in the sharedpreferences. The ID load every App start and open the chosen item/activity.
有人可以告诉我该怎么做吗?
Can someone tell me how to do that Please ?
推荐答案
有很多示例,但可以,我举一个例子:
There are many samples but ok, I'll give an example:
您可以在活动下定义2种方法:
You can define 2 methods under your activity:
private void loadSavedPreferences() {
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
int selectedRadioID = sharedPreferences.getInt("SELECTED_RADIO", 0);
if(selectedRadioID > 0) {
// you got previously selected radio
RadioButton rb = (RadioButton)findViewById(selectedRadioID);
rb.setSelected(true);
}
}
private void savePreferences(String key, int radioId) {
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
Editor editor = sharedPreferences.edit();
editor.putInt(key, radioId);
editor.commit();
}
在您的活动onCreate
方法上使用此方法.
Use this methods on your activities onCreate
method.
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
loadSavedPreferences();
RadioGroup rg = findViewById(R.id.your_radio_group_over_your_radios);
rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
savePreferences("SELECTED_RADIO", checkedId);
}
});
}
您应该改进此代码,但这会给您带来帮助.
You should improve this code, but this will give you the idea.
这篇关于Android在sharedpreferences中存储无线电组ID并加载它的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!