70876


## 分からないこと

Fragmentを用いた遷移でも、Activity.javaはアプリの1つの画面に対して1つ必要という情報をネットで見たのですが、その意味がよく分かりませんでしたので、解説が欲しく質問させて頂きました。  
Androidアプリを作成していて、今まではbuttonを用いたActivity間の遷移をさせていました。  
しかし、bottomnavigationviewを用いたFragment間での遷移に変更しました。つまり、MainAcitivity.java一つと*Fragment.javaが3つという状態です。

そこで今まで用いていたActivity内にあったデータ受け渡し等の機能やfindviewなどをFragmentに移そうと考えてネットで調べていたら、上記の情報がありました。  
Fragment.javaを用いて画面遷移する場合Activity.javaは必要ないのではと思い、上記の説明の意味がよく分かりませんでした。

[![](https://i.stack.imgur.com/nJLMA.jpg)](https://i.stack.imgur.com/nJLMA.jpg)

## 参考にしたサイト

<https://teratail.com/questions/124691>


CC BY-SA 4.0
2020-10-01T10:54:33.233
70862
2020-10-02T00:04:32.937
40944
question
java android
ActivityとFragmentの違いについて


> Fragment.javaを用いて画面遷移する場合Activity.javaは必要ないのではと思い、上記の説明の意味がよく分かりませんでした。

Fragmentで画面遷移をするのに、「Activityは **使う必要はない** 」ですが、「Activityは **作る必要はない**
」ではありません。

Activityは、他のアプリケーションから呼び出されるために必要です。  
大抵のアプリケーションは、ホームアプリから起動されるわけで、そのような意味では(ホームアプリから呼び出されるために)Activityは必要になります。

通常、Activityを作り、Activityに作ったViewを割り当てます。  
Activityを使った画面遷移というのは、前のActivity(当然割り当てたViewも含む)を削除し、新しいActivity(並びにView)を作り直す、言い直すと、「Activityを入れ替える」事になります。  
実にシンプルですが、シンプル故に細かい制御ができません。

そこで、Activityで行っていた「入れ替え」を、View単位で行えるようにしたのがFragmentです。  
View単位ですので、個々のViewにそれぞれ別のFragmentを割り当てることもできますし、複数あるView(に割り当てられているFragment)のうち一つのみを入れ替えることもできます。

Fragmentの説明を簡単に説明しましたが、いかがですか。


CC BY-SA 4.0
2020-10-02T00:04:32.937
70876
2020-10-02T00:04:32.937
15473
70862
answer