【问题标题】:Handle onResume in fragment在片段中处理 onResume
【发布时间】:2016-08-31 15:07:29
【问题描述】:

我有一个片段,我将请求发布到服务器。这种类型的操作应该在 onResume() 方法中,但我不想每次将应用程序置于后台时都向服务器发布请求。是否存在任何解决方案?

我要发布的请求

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) {}
        });

【问题讨论】:

  • 嗯,这取决于..当你真的想发送请求。您可以使用布尔值,如果请求已经发送,则不要让它再次发送。

标签: android android-fragments retrofit android-lifecycle


【解决方案1】:

在您的 Fragment 类中,创建一个 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) {}
        });


        }
    }

【讨论】:

    【解决方案2】:
    【解决方案3】:

    使用一些变量,如标志,并在 onCreate 中对其进行初始化。并根据标志,您可以处理请求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多