当前位置: 首页 > 知识库问答 >
问题:

对“execute”的未检查调用(参数...)”作为原始类型“android.os.AsyncTask”的成员

秦权
2023-03-14

我正在关注Udacity上的Google Android教程,但在指定的代码中,我收到以下警告:

对“execute”的未检查调用(参数...)”作为原始类型“android.os.AsyncTask”的成员

关于此代码:

DoSomethingTask myTask = new DoSomethingTask();
myTask.execute(); // Warning here

做某事任务:

public class DoSomethingTask extends AsyncTask {

    protected Object doInBackground(Object[] params) {
        ...
    }
}

任何人都可以解释这个警告以及如何解决它?它似乎应该按照说明工作...

共有2个答案

龙高歌
2023-03-14

变化

AsyncTask asyncTask = new AsyncTask<Object, Void, String>() {

        @Override
        protected String doInBackground(Object... params) {
            return "";
        }
    };

    asyncTask.execute();

AsyncTask<Object, Void, String> asyncTask = new AsyncTask<Object, Void, String>() {

        @Override
        protected String doInBackground(Object... params) {
            return "";
        }
    };

    asyncTask.execute();

异步任务引用需要与异步任务类相同,IDE不会发出警告

吴唯
2023-03-14

警告是由任务的参数引起的。尝试使用:

extends AsyncTask<Void, Void, Void>{
    protected Object doInBackground() {
    }
}

或使用:

extends AsyncTask<Object, Void, Void>{
    protected Object doInBackground(Object[] params) {
    }
}
myTask.execute(anyObject);

解释:

本文档解释了异步任务的三种类型的含义。

>

  • 参数,执行时发送到任务的参数类型。

    进度,后台计算期间发布的进度单位的类型。

    结果,背景计算结果的类型。

  •  类似资料:
    • 我一直在复制向日葵android架构最佳实践应用程序,到目前为止速度很慢但很成功,虽然我的代码正常工作,但它显示了一条未经检查的消息,所以我运行了它要求的命令,它说: [unchecked]未选中对作为原始类型ListAdapter成员的submitList(List)的调用,其中T是类型变量:T扩展类ListAdapper中声明的对象 这可能是不重要的,但它是烦人的我,一个我用作参考从来没有任何

    • 问题内容: 我正在尝试确定对象上字段的类型。当对象传递给我时,我不知道对象的类型,但我需要查找为s的字段。区分框s 很容易,但是原始图元似乎更加困难。 我 可以 确保传递给我的对象只有,没有基元,但我宁愿没有。所以我有: 一种似乎可行的hacky方法是: 如果有的话,我真的很希望有一种更清洁的方法。如果没有更好的方法,那么我认为要求我接收的对象仅使用(not )将是更好的API。 有任何想法吗?

    • 问题内容: 即使我们有一个整数对象(例如Integer),为什么整数(int)仍具有原始类型?但是对于String类型则不一样。String没有这种原始类型。始终使用String处理对象引用吗? 问题答案: 速度。对于机器代码而言,使用本机CPU指令添加两个int的速度要快得多,而不是必须获取两个Integer对象,从它们中提取int值然后相加的结果,从而创建一个新的结果Integer对象以包含结

    • 问题内容: 我有一个笼子课: 我试图在另一个类main方法中实例化Cage对象: 我收到错误:笼子是原始类型。泛型Cage的引用应参数化。我尝试了几个想法,但对这种棘手的语法感到困惑:o( 问题答案: 是通用类型,因此您需要指定一个类型参数,例如这样(假设有一个): 您可以使用任何扩展的类型(甚至是自身)。 如果省略type参数,那么在这种情况下最终得到的是。但是,即使这是您想要的,您仍应明确声明

    • 问题内容: 我有以下课程(来自简单的Spring教程) 其中Validator类是Spring 2.5中的类。 如果我尝试向其中添加参数,则supports方法显示警告(Class是原始类型。对泛型类型Class的引用应进行参数化) 我收到以下错误: 关于这种类型的问题有很多线索,但是我想获得一个完整的答案并真正理解它,而不会用“隐藏”这个问题! 问题答案: 接口使用原始类型声明该方法。在这种情况

    • 问题内容: 我在类中有以下两种方法: 下面的代码行 印刷品,如何使其印刷? 问题答案: 要使用反射调用以原始类型作为参数的方法: 你可以用 要么 同样适用于其他原始类型