2016-04-25 58 views
0

我打電話給Web API,我們將響應存儲在首選項中,每當我們回到其他屏幕重新加載並從首選項中獲取此響應並顯示時,但同時我們需要在後臺調用Web API,以及何時響應成功返回,並存儲在首選項中並在屏幕上刷新新數據。在Android中刷新整個視圖?

請解釋如何做到這一點。

+0

每次顯示從SharedPreference數據並調用WS每次和從WS加載的數據存儲,並刷新數據。而已! –

+0

如果你的意思是根據你的邏輯從任何事件重新啓動應用程序視圖,你可以使用 – Haroon

+0

無需刷新只需在onResume()方法中編寫你的代碼 –

回答

0

這很簡單,只需創建方法並隨時調用即可。

@Override 
    protected void onResume() { 
      super.onResume(); 
      getDataFromPreference(); 
      getDataFromWebAPI(); 
    } 


    public void getDataFromPreference() 
    { 
     //featch all data from preference and display on view 
    } 

    public void getDataFromWebAPI() 
    { 
     //featch all data from web API 

     //Write your data into preference 
     getDataFromPreference(); 
    } 
+0

謝謝,這個很不錯,適合我的相關任務 – sillicon46

0

不是試圖刷新整個視圖,而是將設置視圖的代碼放入函數中,然後在需要時調用該函數。在你的情況下,這將在你的Activity/Fragment的onResume()方法中,然後在API調用完成時。

例子:

private void refreshDisplayUsername() { 
    String username = sharedPreferences.getString("username", ""); 
    usernameView.setText(username); 
} 

@Override 
public void onResume() { 
    super.onResume(); 
    refreshDisplayUsername(); 
} 

// Put this code wherever you're handling the API response 
public void onAPICallFinished() { 
    // Store data into SharedPrefs here 

    refreshDisplayUsername(); 
}