ProgressValue
(传入AsyncTask
中的onPostExecute())如何表示。它的价值取决于什么?AsyncTask类中的onPostExecute()中的ProgressValue
0
A
回答
1
当您创建的AsyncTask类,您可以指定的参数,进度类型和结果:
private class MyTask extends AsyncTask<ParamType, ProgressType, ResultType> { ... }
如果你想使用进度值更新进度条,我建议使用整型,所以你的类声明如下所示:
private class MyTask extends AsyncTask<ParamType, Integer, ResultType> { ... }
以下调用应该从什么地方来doInBackground()
制作:
publishProgress(progress_value); // progress_valus is integer
和你onProgressUpdate()
成员将是这样的:
protected void onProgressUpdate(Integer... values) {
super.onProgressUpdate(values);
dialog.setProgress(values[0]); // dialog is the ProgressDialog
}
1
你的意思是onProgressUpdate()
?
进度值是任何你想要的。如果要显示百分比完整进度栏,则可以使用0到100之间的整数。如果你想显示一个文本消息,然后传递一个字符串。
在您的后台操作的某些点上,您可以调用publishProgress()
任何您想要发送的值(整数,字符串等)。这将在主线程中传递给您的onProgressUpdate()
方法,以便您可以在UI中显示值。
如果您知道需要完成多少工作,并且通过操作有多远(也许您的后台操作在循环中运行),那么在循环的每次迭代中,您都可以将进度显示为工作量的百分比留下来做。
如果后台任务包含一堆不同的操作,那么也许你想发送一条消息,如“加载数据”,“准备报告”等。
完全取决于你决定发送什么值,以及如何计算它们。
相关问题
- 1. AsyncTask中的NullPointerException OnPostExecute
- 2. 的AsyncTask在OnPostExecute
- 3. NPE在AsyncTask的OnPostExecute()
- 4. 子类的AsyncTask的 - 未能在onPostExecute
- 5. 从AsyncTask中onPostExecute更新textview
- 6. 在AsyncTask中重写onPostExecute()
- 7. IllegalStateException asynctask - onPostExecute
- 8. onPostExecute取消AsyncTask
- 9. 来自asynctask类的onPostExecute方法中的呼叫活动
- 10. AsyncTask中的onPostExecute方法的返回类型是否无效?
- 11. 的AsyncTask从不执行onPostExecute
- 12. 错误在AsyncTask onPostExecute
- 13. 错误是asynctask onPostExecute
- 14. 如何在AsyncTask类的onPostExecute方法中使用SnackBar?
- 15. OnPostExecute未在AsyncTask(C#)中执行
- 16. 在android中的AsyncTask的onPostExecute()中创建窗口
- 17. 的Android的AsyncTask - onPostExecute不叫(ProgressDialog)
- 18. 得到onPostExecute内的AsyncTask结果的onCreate
- 19. AsyncTask不会调用onPostExecute()
- 20. AsyncTask不会进展到onPostExecute()
- 21. 的AsyncTask内的另一个的AsyncTask的onPostExecute并返回结果
- 22. AsyncTask onPostExecute不返回doInBackground的结果
- 23. AsyncTask类中的getApplicationContext?
- 24. 无法解析构造函数在AsyncTask中的onPostExecute
- 25. AsyncTask仍然在调试窗口中的onPostExecute()后运行
- 26. 是否可以在onPostExecute()中将AsyncTask的引用设置为null?
- 27. 进度中的AsyncTask - onPostExecute方法后,显示
- 28. 在asyncTask的onPostExecute中显示另一个进度对话框
- 29. 为什么我无法使用AsyncTask中的Geocoder更新onPostExecute中的EditText?
- 30. 无法调用AsyncTask doInBackground()和onPostExecute
如何传递价值,以及如何? 。以及a如何控制进度值以涵盖后台进程的长度? – Adham 2012-04-23 10:29:13