0

アクティビティを閉じてから再度開いたときに、テキスト ビューにあるものをそこに残すにはどうすればよいですか?

public class ViewOffense extends Activity {
    EditOffense eo = new EditOffense();
    List<String> rosterLog;
    List<String> oneRow;
    Bundle bundle;
    static String selection;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);

        setContentView(R.layout.viewoffense);

        bundle = this.getIntent().getExtras();
        if (bundle != null) {
            String selection = bundle.getString("key");
            TextView textview = (TextView) findViewById(R.id.textView2);
            textview.setText(selection);
        }
    }
}
4

5 に答える 5

1

アクティビティを破棄するときに、textview の値を共有設定に保存します。

    @Override
        public void onDestroy() {
            super.onDestroy();
TextView tvText = (TextView) findViewById(R.id.YOURLAYOUTGOESHERE);
            SharedPreferences.Editor prefEditor = getSharedPreferences("Preferences", Context.MODE_PRIVATE).edit();
            prefEditor.putBoolean("text", tvText .getText().toString());
            prefEditor.commit();
        }

次に、onCreate で、共有設定から textview テキストを設定します。

TextView tvText = (TextView) findViewById(R.id.YOURLAYOUTGOESHERE);
    SharedPreferences prefs = getSharedPreferences("Preferences", Context.MODE_PRIVATE);
    if (prefs.contains("text")){
            tvText .setText(prefs.getString("text", ""));
        }
于 2013-10-30T17:16:54.687 に答える
0

ステップ1:アクティビティの保存したい値でBeanを作成します

ステップ 2 : Bean インスタンスを作成し、アクティビティ値をインスタンスに保存する

ステップ 3 : 状態をアクティブにする必要があるまでインスタンスを渡し続ける

ステップ 4 : アクティビティに戻ったら、Bean インスタンス値でアクティビティを初期化します

于 2013-10-30T17:12:48.023 に答える
0

アプリケーションの起動間でデータを保持するには、Android で利用可能なさまざまなストレージ オプションを調べる必要があります。

単一の のコンテンツを格納するにはTextView、を使用するだけでSharedPreferences十分でしょう。

値を に保存し、onStop()で取得することをお勧めしますonCreate()。例えば:

public class ViewOffense extends Activity {
    public static final String PREFS_NAME = "MyPrefsFile";

    @Override
    protected void onCreate(Bundle state){
       super.onCreate(state);

       // Restore String
       SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
       String savedText = settings.getString("myText", "default text");
       TextView textview = (TextView) findViewById(R.id.textView2);
       textview.setText(savedText);
    }

    @Override
    protected void onStop(){
        super.onStop();

        SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
        SharedPreferences.Editor editor = settings.edit();

        TextView textview = (TextView) findViewById(R.id.textView2);
        String text = textview.getText().toString();
        editor.putString("myText", text);

        // Commit the edits!
        editor.commit();
    }
}
于 2013-10-30T17:12:59.860 に答える
0

値を onSaveInstanceState(Bundle) メソッドに保存します。

String value;
yourbundle.putString("key",value);

onSaveInstanceState に保存した値は、デフォルトで onCreate/onRestoreInstanceState メソッドに渡されるパラメーターとして利用できます。

String data = savedInstanceState.getString("key defined earlier");

それをテキストビューに設定します

これは一時データのソリューションです。永続的なストレージの場合は、設定を使用するか、sqlite データベースに書き込みます。

于 2013-10-30T18:18:36.357 に答える