0

私のアプリでは、ユーザーが選択できるいくつかのアイテム (各アイテムはアクティビティである必要があります) を含むラジオグループを含むダイアログ ウィンドウを開きたいと考えています。選択したアイテム/ID は、sharedpreferences に保存する必要があります。ID は、アプリが起動するたびにロードされ、選択されたアイテム/アクティビティを開きます。

誰かがそれを行う方法を教えてもらえますか?

4

1 に答える 1

-1

多くのサンプルがありますが、わかりました、例を挙げます:

アクティビティの下に 2 つのメソッドを定義できます。

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メソッドでこのメソッドを使用します。

@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);
        }
    });

}

このコードを改善する必要がありますが、これでアイデアが得られます。

于 2013-10-30T21:41:00.343 に答える