0

いくつか (10 以上) のアクティビティを含むコードベースを使用しています。各アクティビティ クラスには、プロジェクト内の他のすべてのアクティビティを起動する機能があります。コードでは、これは startActivityA()、startActivityB() などのように見えます。したがって、コードには多くの重複と依存関係があります。

私の質問は次のとおりです:他のすべてのアクティビティのナビゲーション コントローラーとして機能するクラス (おそらくアクティビティ) を作成することに問題はありますか? したがって、アクティビティ A がアクティビティ B を起動したい場合、このクラスを呼び出して (文字列 "B" を渡すこともできます)、そのクラスがアクティビティを起動します。アクティビティ A と B は相互に依存しなくなり、コードが大幅に少なくなります。

ありがとう!

4

1 に答える 1

1

目標を達成するためのおそらくより簡単な方法は、単に を使用することIntent Flagsです。フラグを使用して、既にスタック上にあるIntent.FLAG_ACTIVITY_REORDER_TO_FRONT場合Activity、新しいインスタンスが作成されないようにすることができます。これには依存性や冗長性はありません

インテント フラグ

Flagsに設定する方法を知っていると思いますIntentが、そうでない場合

    intent = new Intent(FirstActivity.this, SecondActivity);
    intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 
    startActivity(intent);
于 2013-05-23T17:17:20.497 に答える