【问题标题】: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
        }

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-13
    • 2014-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多