【问题标题】:Disable refresh on changing Tabs from the action bar从操作栏更改选项卡时禁用刷新
【发布时间】:2014-07-07 11:31:25
【问题描述】:
我按照tutorial 创建了一个在操作栏中有四个选项卡的应用 [tab1][tab2][tab3][tab4]。
当我从一个选项卡更改为最近的选项卡时,目标选项卡不会刷新,例如从 1->2、3->4 或 3->2,但问题是当我从 1->3 更改时或 4, 2->4 ...(远选项卡)目标选项卡刷新,如何禁用此功能?
【问题讨论】:
标签:
android
android-fragments
android-actionbar
android-tabs
【解决方案1】:
在教程代码中,每次进入后台都会生成一个新的片段实例。
switch (index) {
case 0:
// Top Rated fragment activity
return new TopRatedFragment();
case 1:
// Games fragment activity
return new GamesFragment();
case 2:
// Movies fragment activity
return new MoviesFragment();
}
而不是在顶层创建片段,即在您启动类时创建。
public class TabsPagerAdapter extends FragmentPagerAdapter {
TopRatedFragment frag1;
GamesFragment frag2;
MoviesFragment frag3;
public TabsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int index) {
switch (index) {
case 0:
if(frag1 == null)
frag1 = new TopRatedFragment();
return frag1;
case 1:
//repeat same here
case 2:
//repeat same here
}
这样,如果片段的实例已经存在,那么它将返回该实例而不是新实例。