【发布时间】:2015-04-15 03:43:11
【问题描述】:
我在 AsyncTask 中使用 ProgressDialog 时遇到问题。
在onPreExecute()中我启动ProgressDialog,但是当我在onPosTExecute()中完成ProgressDialog时出现错误
Cannot resolve symbol 'progresso'
这是我的代码:
private class DataTransfer extends AsyncTask<Void, Integer, String> {
private ProgressDialog progresso;
@Override
protected void onPreExecute()
{
super.onPreExecute();
progresso.setIndeterminate(true);
progresso.setCancelable(false);
progresso.setMessage("Your message");
progresso.show();
}
protected String doInBackground(Void... params) {
return postData();
}
public String postData() {
String origresponseText = "";
// Create a new HttpClient and Post Header
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("*****"); //URL here
try {
// Add your data
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("teste", "OK"));
nameValuePairs.add(new BasicNameValuePair("crc", "010101"));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
HttpResponse response = httpclient.execute(httppost);
origresponseText = readContent(response);
} catch (ClientProtocolException e) {
Log.i("ClientProtocolException", e.toString());
cancel(true);
} catch (IOException e) {
Log.i("IOException", e.toString());
cancel(true);
}
String responseText = origresponseText;
Log.i("String", responseText);
return responseText;
}
public String readContent(HttpResponse response) {
String text = "";
InputStream in = null;
try {
in = response.getEntity().getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line).append("\n");
}
text = sb.toString();
} catch (IllegalStateException | IOException e) {
e.printStackTrace();
} finally {
try {
in.close();
} catch (Exception ex) {
}
}
return text;
}
protected void onCancelled(String result) {
Log.i("Async", "Cancelled");
}
@Override
private void onPostExecute(String result) {
// showDialog("Downloaded " + result + " bytes");
progresso.dismiss();
Log.i("Async", "PostExecute");
Log.i("Result", result);
}
}
【问题讨论】:
-
你的英语很好,所以没有理由在帖子中道歉:)
标签: android android-asynctask progressdialog symbols