【问题标题】:Tab Fragment, Creating view each time tab switched选项卡片段,每次切换选项卡时创建视图
【发布时间】:2013-02-28 04:59:53
【问题描述】:

我探索了几个标签片段示例(在 Support4Demos 中也提供了一个) 但是我发现每次切换tab时,每次都是从fragment类的'onCreateView'创建tab内容视图。

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.hello_world, container, false);
        View tv = v.findViewById(R.id.text);
        ((TextView)tv).setText("Fragment #" + mNum);
        tv.setBackgroundDrawable(getResources().getDrawable(android.R.drawable.gallery_thumb));
        return v;
    }

是否可以在首次创建片段视图时创建一次,并在选项卡之间切换而不是再次创建时显示/消失?

【问题讨论】:

    标签: android android-fragments


    【解决方案1】:

    我想我找到了解决方案。 我需要使用分页器,它会缓存选项卡并且不会在每次切换时创建新视图。

    从这里找到它:How to cache a fragment view

    【讨论】:

      【解决方案2】:

      不,你必须习惯这个想法并开始保存屏幕旋转和类似的重要信息。然后,当您再次创建视图时,您会获取保存的信息并将其用于初始化。

      有关类似讨论,请参阅 here。基本上,在您的片段 onActivityCreated 中加载数据,并在片段 onSaveInstanceState 中保存数据。

      【讨论】:

      • 所以片段选项卡不是一个好主意来服务于我的目的:S 我的选项卡内容很重,我不想每次切换回来时都创建它们。如果我只想创建一个选项卡内容视图并在切换选项卡时使用它,有什么解决方案吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多