FragmentActivity からフラグメントインスタンスを取得するにはどうすればいいですか? 質問する

FragmentActivity からフラグメントインスタンスを取得するにはどうすればいいですか? 質問する

FragmentActivity でコンテンツ ビューを設定すると、アクティビティはレイアウト ファイルで指定されたクラス名に従ってフラグメント インスタンスを作成します。しかし、そのフラグメント インスタンスを取得するにはどうすればよいでしょうか?

public class MyActivity extends FragmentActivity {

    @Override
    protected void onCreate(Bundle extra) {
        super.onCreate(extra);
        setContentView(R.layout.page_fragment);
    }
}

レイアウト/ページフラグメント.xml:

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/pageview"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:name="org.xi.android.PageFragment" />

ベストアンサー1

findFragmentByIdでuse を使用できますFragmentManager

サポート ライブラリを使用している (FragmentActivity を拡張している) ため、次を使用できます。

getSupportFragmentManager().findFragmentById(R.id.pageview)

サポート ライブラリを使用していない場合 (つまり、Honeycomb+ を使用しており、サポート ライブラリを使用しない場合):

getFragmentManager().findFragmentById(R.id.pageview)

Honeycomb+ でもサポートライブラリの使用が推奨されることにご留意ください。

おすすめ記事