创建/销毁或显示/隐藏碎片?

时间:2014-07-04 16:57:38

标签: android android-fragments fragmenttransaction fragmentmanager

我有一种情况需要根据动态变量显示/隐藏片段。我的问题是我应该创建一次片段,然后根据变量显示/隐藏。或者我应该每次销毁/创建它?

创建片段

Fragment alertFragment = new AlertFragment();
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.add(android.R.id.content, alertFragment).commit();

在此之后我应该每次都打电话给show / hide吗?

getSupportFragmentManager().beginTransaction()
          .setCustomAnimations(android.R.animator.fade_in, android.R.animator.fade_out)
          .show(alertFragment)  // or hide
          .commit();

似乎每次都要展示/隐藏一些东西。这是正确的方法吗?

1 个答案:

答案 0 :(得分:0)

我会说,如果您的Fragment被销毁,那么这取决于天气对您的申请是否重要。

如果根本不重要,只需每次更换 Fragment一个新的。这是最简单的解决方案,不需要任何逻辑。

Fragment f = new Fragment();
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.content, f).commit();