Android在片段中保存页面数据

时间:2015-01-21 10:00:00

标签: android android-fragments fragment android-lifecycle

我有一个从服务器加载json数据的片段 并将其显示在列表中。 我的问题是,当我移动到同一活动的不同片段时,该片段数据将被删除。 当我回到那个片段时,所有数据都是空的,并且它再次从服务器加载。 有没有办法让片段在后台保持活着?

我用来切换片段的代码:

private void fragmentSwitch() {
    this.getFragmentManager().beginTransaction()
            .setCustomAnimations(R.anim.fade_in, R.anim.fade_out)
            .replace(R.id.main_fragment_container, fragment)
            .commit();
}

提前多多感谢。

1 个答案:

答案 0 :(得分:0)

我看到3种不同的选择:

  1. 您的活动会保留数据,因此您可以在不丢失数据的情况下切换片段。 创建片段后,您可以调用活动的一种方法来获取数据。 例如,您可以在活动中创建一个类似getJsonData()的方法,并从您的片段(YourActivity)getActivity()调用它.getJsonData()

  2. 您可以在SharedPreferences中保存数据并从片段

  3. 访问它
  4. 您可以在数据库中保存数据并从片段

  5. 访问它