1

複数のボタンを含むアクティビティ A があります。ボタンをクリックすると、アクティビティ B が開始されます。startActivity(intent) で使用されるインテントには、アクティビティ B に適用する必要があるレイアウトに関する情報が含まれています。たとえば、アクティビティ A の「ワイド」ボタンをクリックすると、アクティビティ B に「ワイド」レイアウトが設定されます。

これは最初はすべてうまくいきますが、アクティビティ A で別のボタンをクリックすると、同じレイアウトが再度読み込まれます。

私が試したことは次のとおりです。

  • アクティビティ B で、setContentView() を onCreate から onResume に移動します。アクティビティが最初に開始されたときと同じ意図が残っていたため、これは効果がなかったと思います。

  • マニフェスト ファイルで " android:noHistory = "true" をアクティビティ B に追加します。これにより、正しいレイアウトが読み込まれるという望ましい効果がありましたが、[戻る] ボタンの機能が「壊れて」しまいました。

他のアイデアはありますか?

-

4

1 に答える 1

0

これを試してください、それはあなたを助けるかもしれません

Intent intent = new Intent(MainActivity.this, TargetActivity.class);
intent.setAction(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
MainActivity.startActivity(intent);
于 2012-11-01T00:06:45.323 に答える