如何确保每次调用片段时都不会重新检索从服务器检索的数据

时间:2017-02-22 13:34:37

标签: java android android-fragments server

我正在使用片段和导航抽屉。当我单击导航抽屉中的菜单项时,我有两个片段和一个片段管理器来回收它们。我也在其中一个片段中从服务器接收数据。

但是,每次重新初始化片段时,都会再次调用服务器。我想知道是否有任何方法可以确保服务器调用仅在开始时和单击刷新按钮时发生。

1 个答案:

答案 0 :(得分:0)

  

我想知道是否有任何方法可以确保   服务器调用仅在开始时和单击刷新时发生   按钮。

是的,当您点击刷新按钮时,使用ClickListener来触发呼叫。

如果希望仅在创建片段时进行调用,则可以参考片段生命周期。更好的方法是将此调用放入onCreate()方法。

但是,如果您不想在每次创建片段时拨打电话,我建议您使用SharedPreference保存已拨打电话的信息。

例如:

prefs = PreferenceManager.getDefaultSharedPreferences(this);
        // The seconde value of method getBoolean incates the default value if constant not found
        if (prefs.getBoolean(Constants.CALL_DONE, false)) {
            // Make call
            prefs.edit().putBoolean(Constants.CALL_DONE, true).apply();
        }