我在FragmentActivity中设置了内容视图,活动将根据布局文件中指定的类名为我创建片段实例。但是我怎样才能获得该片段实例?
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" />
答案 0 :(得分:91)
您可以在findFragmentById
中使用FragmentManager
。
由于您使用的是支持库(您正在扩展FragmentActivity),因此可以使用:
getSupportFragmentManager().findFragmentById(R.id.pageview)
如果您没有使用支持库(因此您使用的是Honeycomb +,并且您不想使用支持库):
getFragmentManager().findFragmentById(R.id.pageview)
请考虑即使在Honeycomb +上也建议使用支持库。
答案 1 :(得分:36)
在扩展FragmentActivity的类中获取片段实例:
MyclassFragment instanceFragment=
(MyclassFragment)getSupportFragmentManager().findFragmentById(R.id.idFragment);
在扩展Fragment的类中获取片段实例:
MyclassFragment instanceFragment =
(MyclassFragment)getFragmentManager().findFragmentById(R.id.idFragment);