Lea*_*ros 9 layout tabs android fragment android-actionbar
我正在构建一个带有ActionBar
两个Tabs 的应用程序.如果设备/模拟器没有旋转,一切正常.如果旋转,选项卡状态会自动切换到tab1(正常,因为onCreate
被调用)但内容不会更改.如果我在新方向中选择一个选项卡,则会调用onCreateView()
所选方法,Fragment
但视图不会更新(保持不变).有小费吗?
代码.
主要活动:
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);
Run Code Online (Sandbox Code Playgroud)
使用相同的选项卡显示简单的文本视图.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);
}
Run Code Online (Sandbox Code Playgroud)
上面提到的Fragment布局只包含带有硬编码Text的TextView.(仅用于测试目的)
Main布局如下所示.
<?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>
Run Code Online (Sandbox Code Playgroud)
Lea*_*ros 19
解决了.我每次都重新创建片段,不再这样做了解决它.
在我的TabListener中更改了onTabSelected(Tab tab, FragmentTransaction ft)
,ft.add()
并且ft.replace()
归档时间: |
|
查看次数: |
4015 次 |
最近记录: |