2

Android開発は初めてです。多くのチュートリアルから学んだ後、多くのアクティビティと多くのフラグメントを取得しました。どのアクティビティが実行され、どのフラグメントがコンテナに表示されているかを確認するためのコア エンジンを作成するにはどうすればよいですか?

私が持っていると仮定します:

Acivity01, Activity02, ... , Activity10  

Fragment01, Fragment02, ... , Fragment10

アクティビティが実行時にあるアクティビティと、そのアクティビティに埋め込まれているフラグメントをフィルタリングするクラスを作成したいと考えています。

これどうやってするの?

4

1 に答える 1

0

私があなたを正しく理解している場合は、Applicationクラス内で、現在フォアグラウンドにあるActivityおよびFragmentインスタンスへの参照を保存することをお勧めします(これは、ユーザーがActivity / Fragmentと即座に対話できることを意味します)。

  1. アクティビティについてアプリケーションクラスにアクティビティフィールドを作成し、そのためのゲッター/セッターメソッド(たとえば、setCurrentActivity()、getCurrentActivity())を作成します。次に、アクティビティインスタンスごとにonResume()メソッドからsetCurrentActivity()を呼び出します。フォアグラウンドアクティビティがないが、アプリケーションがまだ機能している場合は、ケースを適切に処理するためにirへのnull参照を指定してsetCurrentActivityを呼び出すことを忘れないでください。

  2. フラグメントについて一般的な考え方は最初の項目と似ていますが、一度に複数のフラグメントインスタンスがフォアグラウンド状態になる可能性があります。したがって、リストのようなものを保存する必要があります。ここで、再開されたフラグメントを追加し、一時停止を削除します。

たとえば、ダイアログに似たようなものを実装することもできます。次に、同じ戦略を使用します。それがお役に立てば幸いです。

于 2013-02-22T15:48:07.657 に答える