我使用的是AsyncTask
內Volley
調用加載數據後加載。並且還編碼以顯示ProgressDialog
。但問題是onPreExecute
和onPostExecute
如此之快,ProgressDialog
不會出現,目前仍是項目是不可見的幾秒鐘後回收站項目將onPostExecute
回答
原因的執行你的AsyncTask
看起來非常快(速度甚至比你得到的結果是你的請求)可能是通過使用凌空內的AsyncTask您使用凌空的線程使網絡請求而不是異步任務線程。
這將使它看起來像真快執行的異步任務的時候,其實你只是傳遞到另一個線程(凌空的線程),這樣的AsyncTask已完成工作,你還有什麼工作,然後凌空完成它的工作,你會得到結果。
解決方案:
要麼使用Android抽射或使用AsyncTask
正如你可以在volley training docs看有沒有需要AsyncTask
您還可以看到this SO AsyncTask example,確認自doInBackgound()
運行中另一個線程,就沒有必要使用抽射或其他異步方法
更新來回答這個問題的意見:
如何使用ProgressDialog
與凌空?
其實很容易,因爲在this other說得這麼張貼例如
你只需要兩個步驟:
您啓動
ProgressDialog
因爲你把你的凌空請求隊列 ;)//請求添加到隊列 rq.add(請求);
//initialize the progress dialog and show it progressDialog = new ProgressDialog(getActivity()); progressDialog.setMessage("Fetching The File...."); progressDialog.show();
你放棄你的OnResponse()
StringRequest postReq = new StringRequest(Request.Method.POST, "http://httpbin.org/post", new Response.Listener<String>() { @Override public void onResponse(String response) { tv.setText(response); // We set the response data in the TextView progressDialog.dismiss(); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Log.e(「Volly Error」,」Error: 」+error.getLocalizedMessage()); progressDialog.dismiss(); } });
感謝您的回答,現在我想使用凌空通話我沒有選擇。所以,如果我這樣做,那麼我將如何顯示我自己的ProgressDialog –
@AkshayDusane我將更新答案 – HenriqueMS
@AkshayDusane檢查更新的答案 – HenriqueMS
- 1. 回收站項目粉碎
- 2. 從回收站刪除單個項目
- 3. OnPostExecute項目的ListView
- 4. 在點擊回收站視圖中的項目後顯示回收站視圖中的子項目
- 5. 回收項目名稱?
- 6. 滑動即可轉至回收站中的下一個項目
- 7. 更新回收站視圖的行項目數據
- 8. 回收站視圖項目之間的空間
- 9. 如何找出回收站視圖所捕獲的項目?
- 10. android:在回收站中一次刷一個項目
- 11. 如何添加回收站項目SetOnClickListener在javatechig例如
- 12. 設置回收站查看項目的模糊佈局
- 13. 設置並獲取回收站視圖的項目ID
- 14. 編輯回收站中的TextView項目查看
- 15. 如何集中回收站視圖的項目?
- 16. 處理點擊按鈕裏面的回收站listview項目
- 17. 在回收站視圖中更改行中的特定項目
- 18. 回收站查看項目不改變其顏色
- 19. 如何啓動回收站查看項目點擊活動?
- 20. 水平回收站查看多個項目同時
- 21. 無法從Windows服務回收站點核心CMS項目
- 22. 請勿從Firebase回收站適配器移除項目?
- 23. 從回收站視圖行中的項目調用新活動
- 24. 同時動畫製作所有回收站視圖項目
- 25. 通過API訪問集合回收站中的項目
- 26. 如何獲得Android回收站點擊的項目的文本
- 27. 從回收站視圖中刪除項目會生成錯誤
- 28. 更改選擇項目的顏色點擊回收站查看
- 29. 在點擊回收站查看項目之間切換片段
- 30. 如何將項目設置爲回收站視圖的中心時
*我正在使用的AsyncTask內凌空通話* ...爲什麼加載數據裏面你的對話? volley已經是一個異步庫...請學習多線程中的基本流程...... *但問題是onPreExecute和onPostExecute如此之快,以至於ProgressDialog不會出現* ...我很肯定你在任何這個方法調用......讓我猜測:'new Task()。execute(); dialog.dismiss();'或'中doInBackground' – Selvin
異步調用,請提供您的代碼? –
不,我解僱了下onPostExecute –