我使用單身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'單身?通常,我讓我的單身'靜態',我從來沒有見過沒有'靜態'的任何單身。 –
這實際上是活動課。我有一個不同班級的單身人士。 –
是的,那就夠了。因爲根據我的觀察這部分代碼,你的變量不是單例。主要問題將是因爲非單身變量 –