从操作栏更改选项卡时禁用刷新

时间:2014-07-07 11:31:26

标签: android android-fragments android-actionbar android-tabs

我按照此tutorial创建了一个应用程序,其中包含操作栏中的四个标签[tab1] [tab2] [tab3] [tab4]。

当我从标签更改为最近的标签时,目标标签不会刷新,例如从1-> 2,3-> 4或3-> 2,但问题是当我从1更改时 - > 3或4,2-> 4 ...(远选项卡)目标选项卡刷新,如何禁用此功能?

1 个答案:

答案 0 :(得分:0)

在教程代码中,每次进入后台时都会生成一个新的片段实例。

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();
        }

而不是在顶级创建片段i,创建一旦你开始上课。

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
        }

这样,如果片段的实例已经存在,那么它将返回该实例而不是新实例。