私は2つのアクティビティを持つ単純なアプリケーションをプログラミングしています。私はOptionMenuの項目をクリックしてActivityに切り替えることができます。文字列を保存するには?
今、インスタンスを保存します。私は、アクティビティ1のEditTextに何かを書き、アクティビティ2に変更して再びアクティビティ1に切り替えると、データ(文字列)をEditTextにリストアする必要があります。
どうすればいいですか?
これは、アクティビティの1のコードです:
public class ActivityA extends Activity {
private String txt1;
private String txt2;
private String txt3;
private String txt4;
private EditText edText1;
private EditText edText2;
private EditText edText3;
private EditText edText4;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_a);
setTitle(R.string.activity1_title);
txt1 = "-";
txt2 = "-";
txt3 = "-";
txt4 = "-";
if (savedInstanceState != null){
txt1 = savedInstanceState.getString("Value1");
txt2 = savedInstanceState.getString("Value2");
txt3 = savedInstanceState.getString("Value3");
txt4 = savedInstanceState.getString("Value4");
}
edText1 = (EditText) findViewById(R.id.editText);
edText1.setText(""+txt1);
edText2 = (EditText) findViewById(R.id.editText2);
edText2.setText(""+txt2);
edText3 = (EditText) findViewById(R.id.editText3);
edText3.setText(""+txt3);
edText4 = (EditText) findViewById(R.id.editText4);
edText4.setText(""+txt4);
}
public void onSaveInstanceState(Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
savedInstanceState.putString("Value1",txt1);
savedInstanceState.putString("Value2",txt2);
savedInstanceState.putString("Value3",txt3);
savedInstanceState.putString("Value4",txt4);
}
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
txt1 = savedInstanceState.getString("Value1");
txt2 = savedInstanceState.getString("Value2");
txt3 = savedInstanceState.getString("Value3");
txt4 = savedInstanceState.getString("Value4");
}
}
問題は、それが文字列を保存していない、と私はなぜ知らないということです。
アイデアはありますか?
http://www.tutorialspot.com/android/android_shared_preferences.htm –
このアイデアは、愚かなことかもしれません - 文字列を保存するためにファイルに書き込むことはできません! –