我在继承 AsyncTask 时遇到以下问题:
-编译: [javac] 编译6个源文件到C:\DEV\MyProject\bin\classes [javac] C:\DEV\MyProject\src\org\example\myproject\MainActivity.java:234: 错误: 方法不会覆盖或实现超类型中的方法 [javac] @Override [javac] ^ [javac] C:\DEV\MyProject\src\org\example\myproject\MainActivity.java:286: 错误: 方法不会覆盖或实现超类型中的方法 [javac] @Override [javac] ^ [javac] 2 个错误
我的代码(doInBackground 也在这里,但编译器没有抱怨):
protected class DoThingsTask extends AsyncTask
@Override
protected Void doInBackground(String... params)
{
// things
}
@Override
protected void onPreExecute(Void... params)
{
super.onPreExecute();
// ... do things
Log.i(TAG, "AsyncTask: pre-execution done");
}
@Override
protected void onPostExecute(Void... result)
{
Log.i(TAG, "AsyncTask: PostExecution start");
// .... do other things
Log.d(TAG, "AsyncTask PostExecution done");
}
所以编译器抱怨@Override
注释。如果我删除注释,它编译得很好,但不会调用onPreExecute
nor onPostExecute
。我不知道为什么它有问题。
我在这里使用命令行 - 所以我ant clean
每次都在打电话。
想法赞赏!