1

アプリに 2 つのアクティビティと 1 つのフラグメントがあります。最初のアクティビティ はMainActivity、フラグメントを保持するために使用されます。ActionBarSherlock ActionBarとフラグメントが含まれていますWFrag。ボタンを押すと、WFrag2 番目のアクティビティ が開きます。SettingsActivityではSettingsActivity、 の動作に影響する設定を選択できますWFrag。当然、onBackPressed()メソッドを元に戻してWFrag、ユーザーの新しい設定で更新する必要があります。私の質問は次のとおりです。(戻るボタンを使用して) から戻ったときに、 を再作成 (再度SettingsActivity呼び出す) するようにするにはどうすればよいですか?onCreate()WFrag

4

2 に答える 2

1

まず、SettingActivity の onBackPressed() をオーバーライドする必要があります。

2番目のアクティビティ、つまりMainActivityからSettingActivityを開始するときは、この方法で前のアクティビティのスタックをクリアする必要があります

Intent intent = new Intent(this, SettingActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(intent);

この方法で MainActivity を実行する必要がある onBackPressed() メソッドの SettingActivity にも同じことが言えます

Intent intent = new Intent(this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(intent);

または、ボタンのクリックから MainActivity にリダイレクトする場合は、上記のコードを同じように使用できます。

于 2016-04-08T05:19:42.287 に答える
1
  1. onBackPressed をオーバーライドするか、
  2. onStart/onResume に更新を追加します
于 2013-08-16T00:27:21.880 に答える