0

アプリのインテントを使用してメールクライアントを開いています。電子メールクライアントを開いてアクティビティに戻った後、アクティビティはクリアされます。アクティビティに戻ると、onCreateが呼び出されます。静的変数を使用してアクティビティに設定した値は、すべてがクリアされ、メールを送信してアクティビティに戻った後、アクティビティは空になります。どんな助けでも大歓迎です。

4

1 に答える 1

0

私が正しいと思うなら、onSaveInstanceStateコールバックにすべてのコントロールの状態を保存する必要があります。

@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
    super.onSaveInstanceState(savedInstanceState);
    // Save UI state changes to the savedInstanceState.
    // This bundle will be passed to onCreate if the process is
    // killed and restarted.
    savedInstanceState.putString("MyString", yourTextView.getText().toString());
}

onCreateアプリを再起動すると、次のようなコールバックで値を読み取ることができます。

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if(savedInstanceState != null) { // is null on first start
        yourTextView.setText(savedInstanceState.getString("MyString"));
        //...
    }
    // ...
}
于 2013-01-29T18:19:05.197 に答える