アプリで「SharedPreferences」を使用して、複数の編集テキストボックスから文字列値を保存/取得する機能を保持していますが、それはうまく機能しています。アクティビティには、使用可能な値の文字列配列を持つスピナーもあります。しかし、スピナーの選択を SharedPreferences に書き込み、後で SharedPreferences を読み取ってその値を撤回して設定する方法については不明です。
edittextの構成は次のとおりです。
-SharedPreferences への保存値を有効にするボタン-
public void buttonSaveSendClick(View view) {
SharedPreferences.Editor editor = getPreferences(0).edit();
EditText editTextCallId = (EditText) findViewById(R.id.editTextCallId);
editor.putString("editTextCallIdtext", editTextCallId.getText().toString());
editor.putInt("selection-startCallId", editTextCallId.getSelectionStart());
editor.putInt("selection-endCallId", editTextCallId.getSelectionEnd());
editor.commit();
}
-SharedPreferences から最後に保存された値を復元を有効にするボタン-
public void buttonRestoreLastClick(View view) {
SharedPreferences prefs = getPreferences(0);
EditText editTextCallId = (EditText) findViewById(R.id.editTextCallId);
String editTextCallIdtextrestored = prefs.getString("editTextCallIdtext", null);
editTextCallId.setText(editTextCallIdtextrestored, EditText.BufferType.EDITABLE);
int selectionStartCallId = prefs.getInt("selection-startCallId", -1);
int selectionEndCallId = prefs.getInt("selection-endCallId", -1);
editTextCallId.setSelection(selectionStartCallId, selectionEndCallId);
}
最初のボタン (保存) でスピナーの選択された値のコレクションを構築する方法に関する提案はありますか? 次に、「復元」ボタンを押すと、その保存された値をスピナービューに戻す方法は?