質問: いつも何度もここで助けてもらっていて申し訳ないです。助かっています。 Buttonを押すことでFragmentが切り替わるアプリを作っています。 端末の物理の戻るボタンを押すと、Activityのfinishメソッドが呼ばれて、アプリが終了すると思うのですが、そのアプリの終了を特定のFragmentが表示されている時のみ行いたいのです。 具体的に言うと、アプリを起動して最初に表示されたFragmentの時のみ、戻るボタンを押したらアプリが終了し、それ以外のFragmentが表示されている時はpopBackStackで前のFragmentに戻る仕様にしたいのです。 そのため、現在どのFragmentが表示されているかを取得したいのですが、どうしたらいいのでしょうか? また、質問が違ってしまうのですが どのFragmentでも「戻るボタン」を押したらアプリが終了する(アプリを終了するか尋ねるダイアログが表示される)ようにして、前のFragmentに戻るのは別途戻るボタンを設置するのとどちらがユーザビリティが高いと感じるでしょうか?
回答: FragmentManager#getFragments()を使うことでActivity上のFragmentを取得できます。 後は、instanceofやFragmentについているTagなどで判断するといいでしょう。