在 Android 中向 AsyncTask 传递任何内容

2022-09-03 09:06:09

如果我没有向 AsyncTask 传递任何内容,如何实例化和调用和类扩展 AsyncTask?

此外,我正在将UI中的文本视图设置为计算结果。

谢谢,本


答案 1

不带参数的异步示例实现,并在 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();

答案 2

我想你想问的是如何编写一个不要求任何参数的异步任务。诀窍是定义您希望在类的扩展中用作参数和返回值的内容:例如,不需要任何参数,也不返回任何参数。 需要一个字符串(或多个字符串)并返回一个 Drawable(从它自己的方法到它自己的方法)class MyClass extends AsyncTask<Void, Void, Void>AsyncTask<String, Void, Drawable>doInBackgroundonPostExecute


推荐