如何从FragmentActivity获取片段实例?
我在FragmentActivity中设置了内容视图,活动将根据布局文件中指定的类名为我创build片段实例。 但是我怎样才能得到这个片段实例呢?
public class MyActivity extends FragmentActivity { @Override protected void onCreate(Bundle extra) { super.onCreate(extra); setContentView(R.layout.page_fragment); } } <?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" />
你可以在FragmentManager
使用findFragmentById
。
由于您正在使用支持库(您正在扩展FragmentActivity),您可以使用:
getSupportFragmentManager().findFragmentById(R.id.pageview)
如果您没有使用支持库(所以您使用的是Honeycomb +,而您不想使用支持库):
getFragmentManager().findFragmentById(R.id.pageview)
请考虑即使在Honeycomb +上也推荐使用支持库。
在扩展FragmentActivity的类中获取片段实例:
MyclassFragment instanceFragment= (MyclassFragment)getSupportFragmentManager().findFragmentById(R.id.idFragment);
要在扩展Fragment的类中获取片段实例,请执行以下操作:
MyclassFragment instanceFragment = (MyclassFragment)getFragmentManager().findFragmentById(R.id.idFragment);