Java 如何将变量从主活动传递到AsynTask及其方法?

Java 如何将变量从主活动传递到AsynTask及其方法?,java,android,android-asynctask,parameter-passing,scope,Java,Android,Android Asynctask,Parameter Passing,Scope,我使用AsyncTask调用web服务并编辑其响应 我这样称呼我的任务: new CallWebService().execute(et.getText().toString().trim()); 其中et是一个EditText,用户在其中给出他的电话号码(String),因此我将String参数传递给execute方法 然后,在扩展AsyncTask的CallWebService类中,我使用给定字符串作为Web服务调用的参数: private class CallWebService ext

我使用AsyncTask调用web服务并编辑其响应

我这样称呼我的任务:

new CallWebService().execute(et.getText().toString().trim());
其中et是一个EditText,用户在其中给出他的电话号码(String),因此我将String参数传递给execute方法

然后,在扩展AsyncTask的CallWebService类中,我使用给定字符串作为Web服务调用的参数:

private class CallWebService extends AsyncTask<String, Void, Object> 
如果我将“6949861372”手动置于第二个参数((字符串)电话),它会工作!那么这里出了什么问题? 那么如何将给定的数字从editText传递到doInBackground方法呢


我想不出来

应该将try块中的代码放入doInBackground()方法中。ProgressDialog应该从onPreExecute显示。捕获异常时,应调用publishProgress()。并超越您的onProgressUpdate()。您将用于显示对话框和土司的代码放在那里

您可以通过

String phoneNumber = phone[0];
doInBackground()
方法中,您可以使用此电话号码作为参数,如下所示

request.addProperty("phone", phoneNumber);

我这样做了,但它告诉我应用程序必须强制关闭。我在doInBackground()toast消息中使用的问题是什么?我如何将结果对象(来自web服务的响应)传递给postExecute()?您能给出日志吗?而且在doInBackground()中显示祝酒词也不起作用。必须在onProgressUpdate()中执行此操作。您可以使用不同的参数调用publishProgress。在此基础上,您知道应该显示哪一个吐司我不明白。我需要的参数在EditText中。那么这段代码是否错误?new CallWebService().execute(et.getText().toString().trim());没有,但是当您将其传递给AsyncTask时,您将获得如我所述的参数。
request.addProperty("phone", phoneNumber);