最終更新:2017-02-10 (金) 18:41:08 (2631d)  

Android/フラグメント
Top / Android / フラグメント

フラグメント"として小さな UI 部品を作り、それを組み合わせて一つのアクティビティを作り上げる仕組み

http://developer.android.com/intl/ja/guide/components/fragments.html

概要

  • Android 3.0からの機能。
  • Android SDK/Support Libraryでそれ以前でも使用可能になる
  • FragmentはActivityの内部に配置可能なライフサイクルを持つコンテナ
    • 別のアクティビティで再利用できる「サブ アクティビティ」のようなもの

動作

  • アクティビティのレイアウトの一部としてフラグメントを追加すると、フラグメントはアクティビティのビュー階層のViewGroupに置かれ、フラグメントが自身のビュー レイアウトを定義します。
  • フラグメントをアクティビティのレイアウトに挿入するには、アクティビティのレイアウト ファイルでフラグメントを <fragment> として定義するか、アプリケーション コードで既存の ViewGroup に追加します。

識別子

  • android:id で一意のIDをつける
  • android:tag で一意の文字列をつける
  • 両方指定しない場合、システムは container view の ID を使う

使い方

コード+レイアウト

表示

レイアウトXMLにfragment android:name=クラス名と指定

既存の ViewGroup にプログラムを使用してフラグメントを追加

  • FragmentManager fragmentManager = getFragmentManager();
    FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
    ExampleFragment fragment = new ExampleFragment();
    fragmentTransaction.add(R.id.fragment_container, fragment);
    fragmentTransaction.commit();

取得

クラス

android.app.Fragment

android.support.v4.app.Fragment

android.app.FragmentManager

android.app.FragmentTransaction

  • add()
  • remove()
  • replace()

アクティビティを取得

主な処理

関連

参考