変数をどこかに保存する方法を見つけようとして夢中になっているので、別のアクティビティに切り替えてから再び戻ると、変数にはまだこの値が含まれています。少し前に共有設定を使用してこれを行いましたが、これは悪い解決策でした。これは必要以上に永続的であり、正しい方法ではありませんでした.
アクティビティ 1 で特定のボタンが押されると、インテントを介してアクティビティ 2 が開き、アクティビティ 2 の文字列に値が設定されます。別のアクティビティに移動するか、[戻る] ボタンを押してからアクティビティ 2 に戻ると、文字列は初期値にリセットされます。
私が試してみました:
共有設定 (うまくいきましたが、良くはありません) 静的変数 (違いはないように見えました。何か間違ったことをしているのかもしれません) 保存されたインスタンス状態と復元状態メソッドを次のように使用します。
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
savedInstanceState.putString(destination, des);
super.onSaveInstanceState(savedInstanceState);
}
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
des = savedInstanceState.getString(destination);
}
私はこれを行う方法がわからないことを認めるところまで来ており、コードを一緒にフランケンシュタイン化することが他の何よりも問題を引き起こしていますが、今のところ地平線上にピッチフォークはありません.
アクティビティ間で文字列内に値を保存するために、経験豊富なプログラマーは何を推奨していますか?