gpt4 book ai didi

android - 如何将 "Loading . . ."对话框添加到 Android 应用程序

转载 作者:行者123 更新时间:2023-11-29 18:11:23 25 4
gpt4 key购买 nike

我有一个简单的安卓应用程序来访问网络服务。我想显示一个对话框 "Loading . . .." 直到加载结果并在加载结果后关闭。我使用了这段代码,但这没有显示加载消息:

public class LoadingActivity extends Activity {
private static final String SOAP_ACTION = "http://ws.eretailer.com/";
private static final String METHOD_NAME = "dataSender";
private static final String NAMESPACE = "http://ws.eretailer.com/dataSender/";
private static final String URL = "http://175.157.128.207:8085/Eretailer/services/EretailerService?wsdl";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final ProgressDialog pd = new ProgressDialog(this);
pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
pd.setMessage("Loading. . .");
pd.show();
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);

SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);

envelope.setOutputSoapObject(request);
pd.show();
HttpTransportSE ht = new HttpTransportSE(URL);
try {

ht.call(SOAP_ACTION, envelope);
SoapPrimitive response = (SoapPrimitive)envelope.getResponse();
SoapPrimitive s = response;

pd.dismiss();
String str = s.toString();
String arr1[] = str.split(" ");

TextView tv = new TextView(this);

for(int i = 0; i<arr1.length;i++){
tv.append("order ID :"+arr1[i]+"\n");
}
setContentView(tv);

} catch (Exception e) {

e.printStackTrace();
}
}
}

我该如何解决这个问题?

最佳答案

你好试试下面的代码

 private class DownloadWebPageTask extends AsyncTask<String, Void, String> {
@Override
protected void onPreExecute() {
pd.show();
super.onPreExecute();
}
@Override
protected String doInBackground(String... urls) {
String response = "";
HttpTransportSE ht = new HttpTransportSE(URL);
try {

ht.call(SOAP_ACTION, envelope);
SoapPrimitive response = (SoapPrimitive)envelope.getResponse();
SoapPrimitive s = response;

pd.dismiss();
String str = s.toString();
String arr1[] = str.split(" ");

TextView tv = new TextView(this);

for(int i = 0; i<arr1.length;i++){
tv.append("order ID :"+arr1[i]+"\n");
}
setContentView(tv);

} catch (Exception e) {

e.printStackTrace();
}
return response;
}

@Override
protected void onPostExecute(String result) {
pd.dismiss();
}
}

资源:http://www.vogella.com/articles/AndroidPerformance/article.html

关于android - 如何将 "Loading . . ."对话框添加到 Android 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10460029/

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