gpt4 book ai didi

java - Android ASyncTask 返回类型不匹配

转载 作者:行者123 更新时间:2023-11-29 19:29:04 24 4
gpt4 key购买 nike

我正在用看起来非常简单的事情来解决问题。当然这只是一个打字错误或一些愚蠢的事情,但我只是没有看到...

我有一个这样定义的 ASyncTask 类(它编译得很好)

    public class SectionRetrieval extends AsyncTask<Void, Void, List<Section>>
{


@Override
protected List<Section> doInBackground(Void... voids)
{
List<Section> sections = new ArrayList<Section>();

...

return sections;
}
}

在我的应用程序中,我尝试这样调用它

    List<Section> sections = new SectionRetrieval().execute();

但这不编译

Error:(472, 63) Gradle: error: incompatible types: 

AsyncTask<Void,Void,List<Section>> cannot be converted to List<Section>

我尝试将新的 SectionalRetrieval 实例的创建与 .execute() 的调用分开。没有这样的运气。它似乎确实认为 execute() 确实在尝试返回 SectionalRetrieval 的实例。

那么我是如何让它认为这就是我想要的呢?

最佳答案

您会在 onPostExecute 的参数中收到从 doInBackground 返回的任何内容。

您还可以从 onPostExecute 更新 UI。

你可以执行 execute().get() 来编译它,可能吧,但我不推荐这样做

关于java - Android ASyncTask 返回类型不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40559694/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com