私のアプリケーションには 3 つのラジオ ボタンがあります。アプリケーションを再度開くと、前にチェックしたラジオ ボタンがまだチェックされます。可能ですか?
質問する
1718 次
3 に答える
2
OnCreate() で
SharedPreferences sharedPreferences = getSharedPreferences("MY_SHARED_PREF", MODE_PRIVATE);
int savedRadioIndex = sharedPreferences.getInt(KEY_SAVED_RADIO_BUTTON_INDEX, 0);
RadioButton savedCheckedRadioButton = (RadioButton)radioGroup.getChildAt(savedRadioIndex);
savedCheckedRadioButton.setChecked(true);
ラジオボタンの OnCheckedChangeListener で、「SavePreferences」のようなメソッドを呼び出します
SavePreferences("SAVED_RADIO_BUTTON_INDEX", checkedIndex);
メソッドを書き留める
private void SavePreferences(String key, int value){
SharedPreferences sharedPreferences = getSharedPreferences("MY_SHARED_PREF", MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putInt(key, value);
editor.commit();
}
于 2013-05-27T10:32:45.670 に答える
1
アプリケーションを閉じる前に状態を保存する
if(rbOne.isChecked())
{
saveCheckedRadioButtton("1");
}
else if(rbTwo.isChecked())
{
saveCheckedRadioButtton("2");
}
else if(rbThree.isChecked())
{
saveCheckedRadioButtton("3");
}
これはSharedPreferences のコードです。
SharedPreferences spRadio; // class variable
spRadio = context.getSharedPreferences("Your_pref_name",0);
public void saveCheckedRadioButtton(String strRB)
{
spRadio.edit().putString("checked_radio", strRB).commit();
}
public String getCheckedRadioButtton()
{
return spRadio.getString("checked_radio", "");
}
getCheckedRadioButton() を使用し てチェックされたラジオ ボタンの状態を取得し、設定します。
于 2013-05-27T10:39:31.647 に答える