如果我不传递任何参数,该如何实例化、调用和扩展AsyncTask类?
此外,我在UI中设置了一个TextView来显示计算出的结果。
谢谢, Ben
如果我不传递任何参数,该如何实例化、调用和扩展AsyncTask类?
此外,我在UI中设置了一个TextView来显示计算出的结果。
谢谢, Ben
在onPostExecute的结果中,没有参数和结果位图的异步示例实现
/**
* My Async Implementation without doInBackground params
*
*/
private class MyAsyncTask extends AsyncTask<Void, Void, Bitmap> {
@Override
protected Bitmap doInBackground(Void... params) {
Bitmap bitmap;
....
return bitmap;
}
protected void onPostExecute(Bitmap bitmap) {
....
}
}
在您的活动中,您应该添加此实现:
MyAsyncTask myAsyncTask = new MyAsyncTask();
myAsyncTask.execute();
我认为你想要问的是如何编写一个不需要任何参数的AsyncTask。诀窍在于在类的扩展中定义您希望用作参数和返回值的内容:
class MyClass extends AsyncTask<Void, Void, Void>
,例如不需要任何参数并且也不返回任何值。
AsyncTask<String, Void, Drawable>
需要一个字符串(或多个字符串)并返回Drawable(从其自己的doInBackground
方法到其自己的onPostExecute
方法)。onPostExecute
方法中使用该变量来设置一些文本。但一定要在onPostExecute
中设置文本,因为Android不允许你在非UI线程(即你的AsyncTask)中更改UI,除非你在onPostExecute
中这样做。 - Lars