gpt4 book ai didi

java - 声明中的Android AsyncTask错误

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

我收到此错误“无法访问类型 Datagetter 的封闭实例。必须使用类型 Datagetter 的封闭实例(例如 x.new A(),其中 x 是 Datagetter 的实例)来限定分配。”我的代码是

public static void initializeValues
(String _NAMESPACE , String _URL , String _SOAP_ACTION ,
String _METHOD_NAME , String _PARAM_NAME , String _PARAM_VALUE)

{
NAMESPACE = _NAMESPACE ;
URL = _URL ;
SOAP_ACTION = _SOAP_ACTION ;
METHOD_NAME = _METHOD_NAME ;
PARAM_NAME = _PARAM_NAME ;
PARAM_VALUE = _PARAM_VALUE ;
TAG = "Name of log" ;


AsyncCallWS task = new AsyncCallWS();
//Call execute
task.execute();

}

异步调用WS

public class AsyncCallWS extends AsyncTask<String, Void, Void> {

protected Void doInBackground(String... params) {
Log.i(TAG, "doInBackground");
getDataFromWebservice();
return null;
}


protected void onPostExecute(Void result) {
Log.i(TAG, "onPostExecute");
// tv.setText(fahren + "° F");
}


protected void onPreExecute() {
Log.i(TAG, "onPreExecute");
// tv.setText("Calculating...");
}


protected void onProgressUpdate(Void... values) {
Log.i(TAG, "onProgressUpdate");
}

}

最佳答案

实例化异步任务的方法是static。但是,AsyncCallWS 似乎是一个非static 内部类。非静态内部类持有对父对象的引用,因此在没有父对象的情况下无法访问。

可能你的异步任务应该被声明为static - 通常有一个非静态的asynctask是一个编程错误。

关于java - 声明中的Android AsyncTask错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21234546/

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