2017-02-22 23 views
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(); 
     } 
+0

究竟是Constants.CALL_DONE? –

相關問題