0

テキストをテキスト編集として保存して、アクティビティを終了して再入力した後、同じ編集テキストに表示されるようにするにはどうすればよいですか?

    switchbutton.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {

            Switch sw = (Switch) v;

            if (sw.isChecked()) {
                SharedPreferences settings = getPreferences(0);
                SharedPreferences.Editor editor1 = settings.edit();
                editor1.putString("nombre", ed1.getText().toString());
                SharedPreferences.Editor editor2 = settings.edit();
                editor2.putString("apellido", ed2.getText().toString());
                SharedPreferences.Editor editor3 = settings.edit();
                editor3.putString("ciudad", ed3.getText().toString());
                SharedPreferences.Editor editor4 = settings.edit();
                editor4.putString("calle", ed4.getText().toString());
                SharedPreferences.Editor editor5 = settings.edit();
                editor5.putString("numero", ed5.getText().toString());
                editor1.commit();
                editor2.commit();
                editor3.commit();
                editor4.commit();
                editor5.commit();   
            } else {

                Toast.makeText(OtraActivity.this, "Datos no guardados",
                        Toast.LENGTH_LONG).show();
            }
        }});
4

3 に答える 3

2

cloudymusic が提案したように、SharedPreferences を使用し、アクティビティonPause()がデータを保存し、onResume()再度ロードすると、アプリを閉じても EditText のデータが永続化されます。

于 2013-01-09T17:33:47.087 に答える
1

、 、またはビューをロードした場所onCreateonStart、設定からデータをロードしてビューに挿入できます。

@Override
protected void onCreate(Bundle savedInstanceState) {
    SharedPreferences settings = getPreferences(0);
    ed1.setText(settings.getString("nombre", ""));
    ed2.setText(settings.getString("apellido", ""));
    ...
}

ではonPause、ボタンをクリックしたときと同じように保存できます。

于 2013-01-09T17:34:50.940 に答える
1

次の onCreate を使用します

SharedPreferences 設定 = getPreferences(0); ed1.setText(settings.getString("名前",""));

他の編集テキストについても同じことを行います..

于 2013-01-09T17:36:09.270 に答える