基本Android AsyncTask,执行doInBackground()时出错

基本Android AsyncTask,执行doInBackground()时出错,android,multithreading,android-asynctask,Android,Multithreading,Android Asynctask,[已解决] 我正在尝试使用AsyncTask创建一个基本线程,如Android API文档所示。然而,我在尝试执行最简单的线程时遇到了一个错误 AsyncTask task = new AsyncTask<Void, Integer, Boolean>() { @Override protected Boolean doInBackground(Void... arg0) { try { Thread.sleep(60

[已解决]

我正在尝试使用AsyncTask创建一个基本线程,如Android API文档所示。然而,我在尝试执行最简单的线程时遇到了一个错误

    AsyncTask task = new AsyncTask<Void, Integer, Boolean>() {

    @Override
    protected Boolean doInBackground(Void... arg0) {
        try {
            Thread.sleep(6000);
            System.out.println("DELAYED TEST TEST TEST");
        }catch(Exception e) {

        }

        return true;
    }
    };
如果有人能帮我解决这个问题,我将非常感激! 谢谢

修正:

AsyncTask task=new AsyncTask()

我想您不会用任何参数调用execute方法,是吗?

这就解释了原因。基本上,由于您将引用声明为
AsyncTask
,而不包含任何类型,因此它需要所有对象。给出声明类型:

AsyncTask<Void, Integer, Boolean> task = new ...
AsyncTask任务=新建。。。

它应该知道如何处理它。

试试这个。。。。。AsyncTask task=new AsyncTask()是在UI线程上创建的任务实例吗?@kumar:我不这么认为。泛型类型没有编译。@kumar解决了这个问题,非常感谢@YashwanthKumar为什么要解决这个问题?泛型类型参数并不像njzk2所说的那样在编译中持久存在。
AsyncTask<Void, Integer, Boolean> task = new AsyncTask<Void, Integer, Boolean>() 
AsyncTask<Void, Integer, Boolean> task = new ...