【发布时间】:2017-05-08 10:29:39
【问题描述】:
我在 android 中使用 BottomNavigationView 来制作类似于 Instagram 的应用程序。我正在使用带有导航标签的片段。应用程序最初有 5 个选项卡我已将中间选项卡设置为活动选项卡,并在应用程序启动后加载它。当我单击任何其他选项卡时,会进行网络调用并加载数据。现在,当我按下后退按钮或再次单击最后一个选项卡(在启动时加载)时,将重新创建片段并进行网络调用以加载相同的数据。我想在不重新创建的情况下显示具有相同数据的先前片段。
我尝试过使用
transaction.add(container,fragment);
但无济于事。
我在标签上点击的代码
if (item.getItemId() == R.id.nav_OverView && _current != R.id.nav_OverView) {
Overview _overView = new Overview();
_fragmentTransaction.hide(_currentFragment);
_fragmentTransaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_CLOSE);
_fragmentTransaction.add(R.id.content_base_drawer, _overView);
_fragmentTransaction.commit();
_current = R.id.nav_OverView;
viewIsAtHome = true;
}
我知道使用 remove 和 add 与使用 replace 相同。
感谢任何帮助。
【问题讨论】:
-
见link。或者,如果这对您不起作用,请使用单例类在第一次加载时保存数据,并在之后使用它。
-
发布您的
setOnNavigationItemSelectedListener代码,您可能正在其中创建片段 -
@marmor 已更新...立即查看
标签: android android-fragments tabs