Intent で 1 つのアクティビティを呼び出します。そのアクティビティ (メソッドの作成) で、いくつかのパラメーターを確認し、別の - 3 番目のアクティビティを呼び出します。3 番目のアクティビティが読み込まれる前に、2 番目のアクティビティが数ミリ秒間表示されます。2番目のアクティビティでビューをロードしません。
3 に答える
結果は必要ありませんが、startActivityForResultを使用して (onCreate メソッドから) 3 番目のアクティビティを開始します。これにより、2 番目のアクティビティ ウィンドウが表示されなくなります。
ここでの問題は、最初のアクティビティが3番目のアクティビティを直接呼び出す必要があることです。2番目のアクティビティバイパスを決定するロジックを別のクラスに抽出し、2番目のアクティビティの代わりにそれを呼び出すだけです。
よくできたアクティビティは、実際には非常に軽量であると想定されています。主に、パラメータやルートビュー階層の読み込み、イベントのフラグメントへのルーティングなどの配管作業です。それができない場合(リファクタリングが難しすぎる場合)は、Activity.overridePendingTransition(int enterAnim,int exitAnim)
メソッドを介してアクティビティ遷移を無効にしてみてください。
2 番目のアクティビティのコンテンツを表示したい場合にのみ、seconds アクティビティ内で「setContentView」を呼び出します。
また、3 番目のアクティビティを開始するときに秒のアクティビティで終了を呼び出す場合は、関数から戻り、初期化 (および「setContentView」の呼び出し) を続行しないことを忘れないでください。