我正在编写一个 Android 客户端来使用基于 SOAP 的网络服务。我正在使用 AsyncTask
来执行网络(即调用网络服务)操作。我正在写客户端。
现在,当我尝试实现
AsyncTask
的doInBackground
方法时, 我在protected String 处收到以下两个错误 doInBackground(String[] params)...
如果我写@Override
注释:MainActivity.MyTask 类型的方法 doInBackground(String[]) 必须覆盖或实现父类(super class)型方法。 1 快速修复:删除 '@Override' 注释
并且在
private class MyTask extends 处出现以下错误 异步任务...
:MainActivity.MyTask 类型必须实现继承的抽象方法 AsyncTask.doInBackground(String[]...)。 2 快速修复:添加未实现的方法(这会自动生成
doInBackground
方法 再次使用@Override
注释)。 将“MyTask”类型设为抽象。如果我不写
@Override
注释,我只会得到第二个错误。... @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); String [] params = {URL, METHOD_NAME, NAMESPACE}; } private class MyTask extends AsyncTask<String[], Void, String> { //@Override write it or not write it? :s **************** protected String doInBackground(String[] params) { // TODO Auto-generated method stub return null; } } ...
这背后的原因可能是什么?我该怎么办?
最佳答案
你有语法错误:
改变
private class MyTask extends AsyncTask<String[], Void, String>
到
private class MyTask extends AsyncTask<String, Void, String>
并在 doInBackground
参数中写入 String...
而不是 String[]
。
protected String doInBackground(String... params) {
// TODO Auto-generated method stub
return null;
}
希望这对您有所帮助。
关于java - 异步任务方法 : I get error whether I write "@Override" annotation or not,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26945728/