[解決済み] なぜフラグメントなのか、そしてアクティビティの代わりにフラグメントを使用するのはどんなときか?
質問
Android API 11+では、Googleは新しいクラスである
Fragment
.
動画の中でGoogleは、可能な限り( リンク1 , リンク2 のように、アクティビティではなくフラグメントを使うべきですが、その理由を正確に説明してくれませんでした。
フラグメントの目的と可能な使用方法(単純なビュー/レイアウトで簡単に実現できるいくつかのUI例以外)を教えてください。
フラグメントについての質問です。
- フラグメントを使用する目的は何ですか?
- アクティビティ/ビュー/レイアウトを使用する場合と比較して、フラグメントを使用することの利点と欠点は何ですか?
ボーナス質問です。
- フラグメントの面白い使い方を教えてください。Googleがビデオで触れなかったことを教えてください。
- フラグメントとそれを含むアクティビティとの間でコミュニケーションをとるための最良の方法は何ですか?
- フラグメントを使用する際に、最も重要なことは何でしょうか?経験上、何かコツや注意点があれば教えてください。
どのように解決するのですか?
<ブロッククオート#フラグメントを使用する目的は何ですか? フラグメントを使用する利点と欠点は、以下のとおりです。 アクティビティ/ビュー/レイアウト
フラグメントは、再利用可能なユーザーインターフェイスを作成するためのAndroidのソリューションです。アクティビティやレイアウトを使っても、同じようなことができます(たとえば、インクルードを使用することで)。しかし、フラグメントは、HoneyComb以降のAndroid APIに組み込まれています。詳しく説明します。
-
は
ActionBar
. アプリをナビゲートするためにタブを表示させたい場合、すぐにわかるようにActionBar.TabListener
インターフェイスを使用するとFragmentTransaction
への入力引数としてonTabSelected
メソッドを使用します。これを無視して、何か別の賢いことをすることもできるかもしれませんが、それはAPIと一緒にではなく、APIに逆らって作業することになります。 -
その
FragmentManager
は、非常に賢い方法で「戻る」を処理します。戻るというのは、通常のアクティビティのように、最後のアクティビティに戻るという意味ではありません。前のフラグメントの状態に戻るという意味です。 -
を使用すると、クールな
ViewPager
を使ってFragmentPagerAdapter
を使用して、スワイプインターフェースを作成します。またFragmentPagerAdapter
のコードは通常のアダプタよりもずっとクリーンで、個々のフラグメントのインスタンス化を制御します。 -
携帯電話とタブレットの両方のアプリケーションを作ろうとするとき、フラグメントを使えば、あなたの生活はずっと楽になります。フラグメントはHoneycomb+のAPIと密接に結びついているので、コードを再利用するために携帯電話でも使いたいと思うことでしょう。そこで便利なのが、互換性ライブラリです。
-
携帯電話専用のアプリにフラグメントを使用することもできますし、そうすべきです。ポータビリティを考慮するならば。私は
ActionBarSherlock
と互換性ライブラリを使って、バージョン1.6までずっと同じように見えるICSルックのアプリを作成することができます。のような最新機能を手に入れることができます。ActionBar
タブ、オーバーフロー、スプリットアクションバー、ビューページャーなど。
ボーナス2
フラグメント間のコミュニケーションに最適なのは、インテントです。フラグメントの中で何かを押すとき、通常は
StartActivity()
をデータ付きで表示します。このインテントは、起動したアクティビティのすべてのフラグメントに渡されます。
関連
-
AndroidがMainActivityが包含クラスでないというエラーを報告する
-
アプリはGoogle検索でインデックスされません Androidmanifestのクソみたいな黄色い警告
-
最新のandroidプロジェクトディレクトリにあるarmeabi-v7aとarmeabiの具体的な意味とその違いを教えてください。
-
エラータイプ 3 タイプエラー, Error: アクティビティクラス{}が存在しません。アクティビティ起動時のエラー 解決方法
-
Androidプロセス生存のためのソリューション
-
Androidのカラーグラデーション実装のまとめ
-
[解決済み] フラグメントのインスタンス状態をバックスタックに正しく保存する方法は?
-
[解決済み] ViewPagerとフラグメント - フラグメントの状態を保存する正しい方法は何ですか?
-
[解決済み】Android Fragmentとアニメーション
-
[解決済み] アクティビティとフラグメントの数は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Android端末にADBが接続できない!を解決。理由: デバイスが認証されていない!
-
プログラム "git.exe "を実行できない場合の正しい解決方法です。CreateProcessエラー=2
-
IllegalStateException。ArrayAdapter は、リソース ID が TextView である必要があります。
-
Google PlayデバイスはPlay保護機構の認証を受けていません。
-
エラータイプ 3 タイプエラー, Error: アクティビティクラス{}が存在しません。アクティビティ起動時のエラー 解決方法
-
Android カスタムスピナーコントロールのドロップダウン・ボックスの実装
-
AndroidでListViewを使ってカスタムテーブルを描画する
-
Android基本アプレット
-
Android Studio http://schemas.android.com/apk/res/android 「URIが登録されていません」の解決方法について
-
[解決済み] アクティビティとフラグメントの数は?