0

私はbutton.Onclickingボタンを持っています->ブラウザを選択->ブラウザを選択すると、URLがロードされます。ブラウザから戻ると、以前にローカルに設定された変数の値がすべてクリアされます。変数には、それらで初期化される値があります。例:

i=0。

メソッド内で i=10 を割り当てる

今すぐブラウザを呼び出す // このコードを使用してブラウザを呼び出します

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(strUrl));

intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);

startActivity(Intent.createChooser(intent, "Choose browser"));

URLをロードします//

これから活動再開

変数 (i) の値が 0 になります。

4

2 に答える 2

1

アクティビティのライフサイクルをもう少しよく理解する必要があります。アクティビティ状態を終了してから戻ると、自動的に永続化されません。

Androidライフサイクル:http ://developer.android.com/training/basics/activity-lifecycle/index.html

アクティビティに戻ったときに状態を復元するには、onSavedInstanceStateを使用する必要があります。これは、(リンクされた)ドキュメントが提供するコード例です。

static final String STATE_SCORE = "playerScore";
static final String STATE_LEVEL = "playerLevel";
...

@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
    // Save the user's current game state
    savedInstanceState.putInt(STATE_SCORE, mCurrentScore);
    savedInstanceState.putInt(STATE_LEVEL, mCurrentLevel);

    // Always call the superclass so it can save the view hierarchy state
    super.onSaveInstanceState(savedInstanceState);
}
于 2013-01-22T11:21:24.187 に答える
1

変数を静的として宣言します

static int i = 0;

これはiをゼロにリセットしません。バックプレスで

于 2013-01-22T11:12:21.363 に答える