我正在经历vogella's tutorial,我可以跨越这个:
private class DownloadWebPageTask extends AsyncTask<String, Void, String> {
我不确定这个空白是什么意思,为什么要使用它?
答案 0 :(得分:2)
我们来看看AsyncTask
的文档:
异步任务使用的三种类型如下:
- Params ,执行时发送给任务的参数类型。
- 进度,在此期间发布的进度单位的类型 背景计算。
- 结果,结果的类型 背景计算。
并非所有类型都始终使用 异步任务。要将类型标记为未使用,只需使用类型
Void
:private class MyTask extends AsyncTask<Void, Void, Void> { ... }
Void
只是一种类型参数,类似于您提供Integer
,Float
等的方式。
答案 1 :(得分:1)
第二个参数进入onProgressUpdate()
。如果您不想进行更新通知,请将Void
作为第二个参数传递,并且不要实施onProgressUpdate()
答案 2 :(得分:1)
在那里使用Void意味着您不会在异步任务完成之前发布结果。
答案 3 :(得分:0)
参见AsyncTask javadoc:
并非所有类型都始终由异步任务使用。标记类型 如果未使用,只需使用类型
Void
:
private class MyTask extends AsyncTask<Void, Void, Void> { ... }
泛型中的void只是意味着参数化类将在使用此泛型的地方使用void(通常用于返回值)。