1. ホーム
  2. android

[解決済み] なぜフラグメントなのか、そしてアクティビティの代わりにフラグメントを使用するのはどんなときか?

2022-03-18 08:30:35

質問

Android API 11+では、Googleは新しいクラスである Fragment .

動画の中でGoogleは、可能な限り( リンク1 , リンク2 のように、アクティビティではなくフラグメントを使うべきですが、その理由を正確に説明してくれませんでした。

フラグメントの目的と可能な使用方法(単純なビュー/レイアウトで簡単に実現できるいくつかのUI例以外)を教えてください。

フラグメントについての質問です。

  1. フラグメントを使用する目的は何ですか?
  2. アクティビティ/ビュー/レイアウトを使用する場合と比較して、フラグメントを使用することの利点と欠点は何ですか?

ボーナス質問です。

  1. フラグメントの面白い使い方を教えてください。Googleがビデオで触れなかったことを教えてください。
  2. フラグメントとそれを含むアクティビティとの間でコミュニケーションをとるための最良の方法は何ですか?
  3. フラグメントを使用する際に、最も重要なことは何でしょうか?経験上、何かコツや注意点があれば教えてください。

どのように解決するのですか?

<ブロッククオート

#フラグメントを使用する目的は何ですか? フラグメントを使用する利点と欠点は、以下のとおりです。 アクティビティ/ビュー/レイアウト

フラグメントは、再利用可能なユーザーインターフェイスを作成するためのAndroidのソリューションです。アクティビティやレイアウトを使っても、同じようなことができます(たとえば、インクルードを使用することで)。しかし、フラグメントは、HoneyComb以降のAndroid APIに組み込まれています。詳しく説明します。

  • ActionBar . アプリをナビゲートするためにタブを表示させたい場合、すぐにわかるように ActionBar.TabListener インターフェイスを使用すると FragmentTransaction への入力引数として onTabSelected メソッドを使用します。これを無視して、何か別の賢いことをすることもできるかもしれませんが、それはAPIと一緒にではなく、APIに逆らって作業することになります。

  • その FragmentManager は、非常に賢い方法で「戻る」を処理します。戻るというのは、通常のアクティビティのように、最後のアクティビティに戻るという意味ではありません。前のフラグメントの状態に戻るという意味です。

  • を使用すると、クールな ViewPager を使って FragmentPagerAdapter を使用して、スワイプインターフェースを作成します。また FragmentPagerAdapter のコードは通常のアダプタよりもずっとクリーンで、個々のフラグメントのインスタンス化を制御します。

  • 携帯電話とタブレットの両方のアプリケーションを作ろうとするとき、フラグメントを使えば、あなたの生活はずっと楽になります。フラグメントはHoneycomb+のAPIと密接に結びついているので、コードを再利用するために携帯電話でも使いたいと思うことでしょう。そこで便利なのが、互換性ライブラリです。

  • 携帯電話専用のアプリにフラグメントを使用することもできますし、そうすべきです。ポータビリティを考慮するならば。私は ActionBarSherlock と互換性ライブラリを使って、バージョン1.6までずっと同じように見えるICSルックのアプリを作成することができます。のような最新機能を手に入れることができます。 ActionBar タブ、オーバーフロー、スプリットアクションバー、ビューページャーなど。

<ブロッククオート

ボーナス2

フラグメント間のコミュニケーションに最適なのは、インテントです。フラグメントの中で何かを押すとき、通常は StartActivity() をデータ付きで表示します。このインテントは、起動したアクティビティのすべてのフラグメントに渡されます。