我使用单身RequestQueue
排队排球请求。我在我的活动的onStop
中添加了一个取消方法,它会停止请求。但是,当我将已取消的请求添加到队列中重试时,它不起作用。下面是代码:排球重启取消请求
我的活动类:
public class MainActivity extends Activity {
private int requestId;
protected Request previousRequest;
private RequestQueueSingleton requestQueueSingleton;
@Override
public void onStart() {
super.onStart();
if(previousRequest != null && previousRequest.isCancelled) {
requestQueueSingleton.add(previousRequest);
}
}
@Override
public void onStop() {
super.onStop();
requestQueueSingleton.cancelRequests(requestId);
}
}
申请单:
public class RequestQueueSingleton {
private static RequestQueueSingleton instance;
private RequestQueue requestQueue;
public static RequestQueueSingleton getInstance(Context context) {
if (instance == null) {
instance = new RequestQueueSingleton(context);
}
return instance;
}
private RequestQueueSingleton(Context context) {
if (requestQueue == null) {
requestQueue = Volley.newRequestQueue(context.getApplicationContext());
}
}
public void addToQueue(Request request) {
requestQueue.add(request);
}
public void cancelRequests(int tag) {
requestQueue.cancelAll(tag);
}
}
注意,一切都开展相应的工作,不会出现崩溃。只是当应用程序转到后台并返回时,响应不会传送。有什么我失踪?
在此先感谢。
你怎么做'RequestQueueSingleton'单身?通常,我让我的单身'静态',我从来没有见过没有'静态'的任何单身。 –
这实际上是活动课。我有一个不同班级的单身人士。 –
是的,那就够了。因为根据我的观察这部分代码,你的变量不是单例。主要问题将是因为非单身变量 –