android不再显示此内容 怎么恢复,切换片段后,Android TabLayout不再显示内容

我在我的项目中使用导航抽屉,里面有5个片段。 在一个片段中,我在设计支持库中引入了TabLayout,其中包括2个片段。 一切正常,除非我离开具有TabLayout的片段并切换回它,所有内容都消失了。

在TabLayout的每个片段中,我有一个带有ListView的SwipeRefreshLayout,它们都不会在切换时显示任何内容。

我也注意到TabLayout开始表现得很奇怪。 奇怪的是我的意思是白色指示器开始跳跃,你能够将它仍然保持在两个标签的中间……

所以我错过了TabLayout行为如此奇怪的东西吗?

这里的代码:包含TabLayout的片段:

public class MainFragment extends Fragment { private static String locale; private static ViewPager viewPager; private static TabLayout tabLayout; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { Utils.changeLanguage(getActivity()); final Context contextThemeWrapper = new ContextThemeWrapper(getActivity(), R.style.MyStyle); LayoutInflater localInflater = inflater.cloneInContext(contextThemeWrapper); View view = localInflater.inflate(R.layout.fragment1, container, false); viewPager = (ViewPager) view.findViewById(R.id.viewpager); tabLayout = (TabLayout) view.findViewById(R.id.tabs); return view; } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); setupViewPager(viewPager); tabLayout.setupWithViewPager(viewPager); } private void setupViewPager(ViewPager viewPager) { LinesTabsAdapter adapter = new LinesTabsAdapter(getActivity().getSupportFragmentManager()); adapter.addFragment(new Fragment1(), "Fragment 1"); adapter.addFragment(new Fragment2(), "Fragment2"); viewPager.setAdapter(adapter); } public static class Fragment extends Fragment { private static List rowItems; private static ListView listview; private static Adapter1 adapter; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.activity1, container, false); listview = (ListView) view.findViewById(R.id.listview1); return view; } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); updateInfo(true); } public static void updateInfo() { rowItems = new ArrayList(); adapter = new Adapter1(context, rowItems); listview.setAdapter(adapter); } } public static class Fragment2 extends Fragment { private static List rowItems; private static ListView listview; private static Adapter1 adapter; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.activity_lines_all, container, false); listview = (ListView) view.findViewById(R.id.activity2); return view; } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); updateInfo(true); } public static void updateInfo() { rowItems = new ArrayList(); adapter = new Adapter2(context, rowItems); listview.setAdapter(adapter); } } }

我使用MainFragment作为单例,并在用户在导航栏中选择内容时立即用内容替换内容。 当我切换到它,一切正常,ListView包含其数据,SwipeRefreshLayout工作正常。 当我使用导航抽屉切换到另一个片段并切换回此片段时,它不会显示任何内容,如上所述。

编辑:我是唯一一个遇到麻烦的人吗? 如果有人有问题,他们是如何解决的?

当我使用viewPager并重新使用它时,我在使用getSupportFragmentManager时切换时会出现空片段。

尝试使用: getChildFragmentManager 。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值