1|2|3Fragment#getActivity()Fragmentが所属するActivityを取得します。Fragment#getTag()Fragmentに割り当てたタグを取得します。ViewはIDによって管理されますが、FragmentはIDによる管理とタグによる管理が可能です。UIを持たないFragmentはIDを割り当てられないため、タグによって管理します。Fragment#getFragmentManager()FragmentからFragmentManagerを取得します。FragmentManager#beginTransaction()FragmentTransactionを取得します。Fragmentに対する、いわゆる画面遷移には、「トランザクション」という考え方を適用します。ここで取得したFragmentTransactionのメソッドを呼び出しても、即座にそれらを適用するわけではありません。後述する、FragmentTransaction#commit()を呼び出して、初めて適用されます。FragmentTransaction#addToBackStack(String)トランザクションをバックスタックに追加します。現在のトランザクションをcommit()後に参照したい場合に追加しておきます。任意でこのトランザクションに名前を付けられますが、必要がなければnullを渡します。FragmentTransaction#commit()トランザクションをコミットします。addToBackStack(String)でトランザクションをバックスタックに追加している場合、このメソッドの戻り値としてバックスタックエントリのIDを」返します。FragmentManager#popBackStack()addToBackStack()でスタックしたトランザクションを1つ戻します。ユーザによるバックキー押下と同様の処理を任意で行えます。FragmentsをAndroidアプリに実装して使うにはここからは、Fragmentを使用するアプリのための、設定方法と実装方法について解説します。レイアウトFragmentを画面にレイアウトする方法は、Viewと同様、レイアウトXMLに設定するか、ソースコード上で追加するかを選べます。レイアウトエディタのFragmentレイアウトエディタには、「Fragment」という新たなレイアウトが追加されており、これをドラッグ&ドロップするだけで、レイアウトが行えます。レイアウトエディタでレイアウトした結果が以下です。レイアウトエディタ上のデザインFragmentをレイアウトするうえで重要なのは、Fragmentの幅と高さ、およびウェイトの設定です。/></LinearLayout>【1】では、左右に配置されるFragmentのそれぞれの幅を0dpに設定します。【2】では、左側のリストは幅のウェイトを1に設定します。【3】では、右側のブラウザは幅のウェイトを3に設定します。このようにすることで、画面サイズによらず、リスト:ブラウザ=1:3に保てます。Fragmentの実装レイアウトXMLで指定したFragmentを実装します。ここでは、今回のサンプルの中から、オーバーライドした2つのメソッドを取り上げて解説します。}上記は、onCreateView()でFragmentに表示するViewを作成・初期化しているコードです。このクラスはListFragmentを継承しているため、メソッドに渡されている引数を一切使用していませんが、Fragmentから継承させた独自Fragmentの場合、別に作成したレイアウトと、LayoutInfraterで紐付ける必要があります。先にも述べたとおり、ListFragmentの場合はonActivityCreated()で初期化する方が賢明です。}上記はリストがクリックされた際に呼び出されるListFragment固有のイベントメソッドです。クリックされた場所が先頭なら、バックスタックからポップし、そうでなければ、新しいFragmentを作成し、既存のものと置き換え、トランザクションをバックスタックに追加しています。2.xでは実現できなかった画面内の画面遷移が行えるようになります。3.0から導入されたFragmentsを紹介しました。Packageを紹介します。Sandwichが登場してから、Fragmentsとそれがもたらす可能性について再度取り上げる予定です。ちなみにJavaのSDKではありませんが、今回のようなFragmentsの考え方と違い、画面サイズごとに別のスタイルシートを当てて画面の大きさの違いを解決するという方法があります。Query」機能です。詳細は、以下の記事をご参照ください。KitKatの新機能39選もはや無料BaaS。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。