我使用的是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 –