我建立一个包含ActionBar和两个Tabs的应用程序.
如果设备/仿真器没有旋转,一切都可以正常工作.如果旋转,tab状态将自动切换到tab1(正常情况下,因为onCreate被调用),但内容不会被更改.如果我以新的方向选择一个选项卡,则所选片段中的onCreateView()方法将被调用,但视图不会更新(始终保持不变).任何提示?
如果设备/仿真器没有旋转,一切都可以正常工作.如果旋转,tab状态将自动切换到tab1(正常情况下,因为onCreate被调用),但内容不会被更改.如果我以新的方向选择一个选项卡,则所选片段中的onCreateView()方法将被调用,但视图不会更新(始终保持不变).任何提示?
代码.
主要活动:
ActionBar actionbar = getActionBar(); actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); ActionBar.Tab ATab = actionbar.newTab().setText(R.string.player); ActionBar.Tab BTab = actionbar.newTab().setText(R.string.stations); Fragment AFragment = new AFragment(); Fragment BFragment = new BFragment(); PlayerTab.setTabListener(new MyTabsListener(AFragment)); StationsTab.setTabListener(new MyTabsListener(BFragment)); actionbar.addTab(ATab); actionbar.addTab(BTab);
具有显示简单文本视图的相同选项卡. textview简单说明选中哪个选项卡.
片段:
@Override public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState) { // Inflate the layout for this fragment return inflater.inflate(R.layout.a,container,false); }
上面提到的片段布局只包含一个带有硬编码文本的TextView. (仅用于测试目的)
主要的布局看起来像这样.
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <LinearLayout android:id="@+id/fragment_container" android:layout_width="match_parent" android:layout_height="match_parent" > </LinearLayout> </LinearLayout>