我正在调用Web API,我们将响应存储在首选项中,每当我们返回到其他屏幕时,重新加载并从首选项和显示中获取此响应,但同时我们需要在后台调用Web API当成功返回响应时,将再次存储在首选项中并在屏幕上刷新新数据。
请解释这是如何实现的。
答案 0 :(得分: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();
}
答案 1 :(得分: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();
}