在片段中处理 onResume
Handle onResume in fragment
我有一个 post 向服务器请求的片段。这种类型的操作应该在 onResume() 方法中,但我不想每次将应用程序置于后台时都 post 请求服务器。是否存在任何解决方案?
request which I want to post
FactoryAPI.getContacts().getContacts(user.getToken()).enqueue(new Callback<ContactsResponse>() {
@Override
public void onResponse(Call<ContactsResponse> call, Response<ContactsResponse> response) {
if(response.isSuccessful()) {
contactList = response.body().getContactsList();
sortList();
progressDialog.dismiss();
setRecyclerView();
}
}
@Override
public void onFailure(Call<ContactsResponse> call, Throwable t) {}
});
根据
https://developer.android.com/guide/components/fragments.html#Creating
您可以 post
上的请求
https://developer.android.com/reference/android/app/Fragment.html#onAttach(android.content.Context)
使用一些变量,比如 flag,并在 onCreate 中初始化它。并根据标志,您可以处理请求。
在您的片段 class 中,创建一个 boolean
类型的数据成员,例如
private boolean isResponseSend;
在你的onResume()
方法中,
@Override
public void onResume() {
super.onResume();
if(!isResponseSend)
{
isResponseSend = true;
//your code
FactoryAPI.getContacts().getContacts(user.getToken()).enqueue(new Callback<ContactsResponse>() {
@Override
public void onResponse(Call<ContactsResponse> call, Response<ContactsResponse> response) {
if(response.isSuccessful()) {
contactList = response.body().getContactsList();
sortList();
progressDialog.dismiss();
setRecyclerView();
}
}
@Override
public void onFailure(Call<ContactsResponse> call, Throwable t) {}
});
}
}
我有一个 post 向服务器请求的片段。这种类型的操作应该在 onResume() 方法中,但我不想每次将应用程序置于后台时都 post 请求服务器。是否存在任何解决方案?
request which I want to post
FactoryAPI.getContacts().getContacts(user.getToken()).enqueue(new Callback<ContactsResponse>() {
@Override
public void onResponse(Call<ContactsResponse> call, Response<ContactsResponse> response) {
if(response.isSuccessful()) {
contactList = response.body().getContactsList();
sortList();
progressDialog.dismiss();
setRecyclerView();
}
}
@Override
public void onFailure(Call<ContactsResponse> call, Throwable t) {}
});
根据
https://developer.android.com/guide/components/fragments.html#Creating
您可以 post
上的请求
https://developer.android.com/reference/android/app/Fragment.html#onAttach(android.content.Context)
使用一些变量,比如 flag,并在 onCreate 中初始化它。并根据标志,您可以处理请求。
在您的片段 class 中,创建一个 boolean
类型的数据成员,例如
private boolean isResponseSend;
在你的onResume()
方法中,
@Override
public void onResume() {
super.onResume();
if(!isResponseSend)
{
isResponseSend = true;
//your code
FactoryAPI.getContacts().getContacts(user.getToken()).enqueue(new Callback<ContactsResponse>() {
@Override
public void onResponse(Call<ContactsResponse> call, Response<ContactsResponse> response) {
if(response.isSuccessful()) {
contactList = response.body().getContactsList();
sortList();
progressDialog.dismiss();
setRecyclerView();
}
}
@Override
public void onFailure(Call<ContactsResponse> call, Throwable t) {}
});
}
}