Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 声明中出现Android异步任务错误_Java_Android_Android Asynctask - Fatal编程技术网

Java 声明中出现Android异步任务错误

Java 声明中出现Android异步任务错误,java,android,android-asynctask,Java,Android,Android Asynctask,我收到以下错误:“没有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

我收到以下错误:“没有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();

    }
AsyncCallWS

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");
        }

    }
公共类AsyncCallWS扩展了AsyncTask{
受保护的Void doInBackground(字符串…参数){
Log.i(标签“doInBackground”);
getDataFromWebservice();
返回null;
}
受保护的void onPostExecute(void结果){
Log.i(标记“onPostExecute”);
//tv.setText(华氏+“°F”);
}
受保护的void onPreExecute(){
Log.i(标记“onPreExecute”);
//tv.setText(“计算…”);
}
受保护的void onProgressUpdate(void…值){
Log.i(标记“onProgressUpdate”);
}
}

更改方法签名

public static void initializeValues()


更改方法签名

public static void initializeValues()


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


可能您的异步任务应该声明为
静态
——通常异步任务非静态是编程错误。

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


可能您的异步任务应该声明为static(静态)——通常异步任务非静态是编程错误。

,因为您使用“static”方法创建新对象。您应该向AsyncCallWS类添加修饰符“static”,例如:

public static class AsyncCallWS extends AsyncTask<String, Void, Void> { ...... } 
公共静态类AsyncCallWS扩展了AsyncTask{……}

因为您使用“静态”方法创建新对象。您应该向AsyncCallWS类添加修饰符“static”,例如:

public static class AsyncCallWS extends AsyncTask<String, Void, Void> { ...... } 
公共静态类AsyncCallWS扩展了AsyncTask{……}

在哪一行出现该错误?AsyncCallWS task=new AsyncCallWS();这一行给我提供了错误可能的重复项,您将从哪一行获得该错误?AsyncCallWS task=new AsyncCallWS();这行给了我一个可能的副本