我onPostExecute()
在运行时无法获取要调用的方法AsyncTask
。当我尝试建立扩展覆盖的类时,AsyncTask
出现onPostExecute()
以下构建错误。
“类型为AsyncTaskExampleActivity的onPostExecute()方法必须重写或实现超类型方法”
我尝试摆脱@Override
注释。这样可以消除构建错误,但是该方法仍然无法执行。如果有人愿意指出我忽略的内容,我将不胜感激。
码:
package com.asynctaskexample;
import android.os.AsyncTask;
public class AsyncTaskExampleActivity extends AsyncTask<Void, Void, Void> {
AsyncTaskExampleActivity(){
super();
}
@Override
protected void onPreExecute() {
}
@Override
protected Void doInBackground(Void... params) {
return null;
}
@Override
protected void onPostExecute() {
}
}
OnPostExecute()
接受一个参数
(您从中返回的对象doInBackground()
)。将其更改为protected void onPostExecute(Void v)
。如果不提供参数,则方法签名不匹配,并且覆盖标注开始抱怨没有可用该签名覆盖的函数。
为什么我不能重写类中的doInBackground方法? 错误:类AttemptLogin必须声明为抽象或实现抽象方法'doInBackground(参数…)在“异步任务”中 如果我将doInBackground的参数更改为(Object[]),它就会工作。为什么我不能传递字符串值?
问题内容: 在UIViewController中,此代码: 给出错误 我正在使用Xcode 8 beta 4,且iOS部署目标是9.0,并且在 如何将上面的代码转换为Swift 3? 问题答案: 像这样: …还有其余的。 一般模式 现在,许多Cocoa方法都是属性,因此您可以将它们实现为重写计算变量。因此,从种子3(或更早)移动到种子4的模式是: 更改为 删除 更改为 之所以可行,是因为计算的变量
问题内容: 我更新到Xcode 8 beta 5,现在在从UIView继承的类上收到以下错误: 有解决方法吗? 问题答案: 请检查最新参考。(您只需在Apple开发者网站的搜索栏中输入“ intrinsicContentSize”,就可以轻松找到它。) 宣言 已成为计算属性,因此您需要以这种方式覆盖它: 或者简单地:
问题内容: Java不允许覆盖静态方法,但是, 在这里没有覆盖吗? 问题答案: 这是“隐藏”,而不是“覆盖”。要看到这一点,请将方法更改为以下内容: 这应该打印: 如果正在进行真正的覆盖,那么您会看到: 通常认为使用实例类型来调用静态方法是一种不好的方式,就像您正在做的那样,因为很容易想到您正在调用实例方法,并且容易误以为重写正在发生。Java样式检查器/代码审核工具通常会将其标记为样式错误/潜在
问题内容: 我有一个大型的检票口组件库,这些检票口组件使用自定义注释或另一个注释进行注释,该注释具有一个参数以允许多个注释。 这是一个示例代码片段: 到目前为止,我使用apt来检查引用的资源是否确实存在。例如 除非在类路径中找到该文件,否则将导致编译失败。这部分效果很好。 现在,我还是DRY的粉丝,我想使用相同的注释在创建对象时将其实际注入到对象中。使用AspectJ,我已经实现了其中的一部分。
问题内容: 由于Xcode 6在Swift中仍然存在很多错误,因此我不确定是其中之一还是缺少某些东西。我的班采用协议NSLayoutManagerDelegate。但是似乎无法覆盖我需要的方法。我做的文档描述如下: 但是我在这里遇到错误:方法不会覆盖其超类中的任何方法。我该怎么办? 问题答案: 是的,您正在从协议中实现方法,但这不是替代。只需删除关键字。覆盖是指您的超类也实现该方法,并且您要提供一