【发布时间】:2011-11-01 17:10:18
【问题描述】:
我查看了其他几个关于类似问题的问题,我发现我需要使用onProgressUpdate 方法来更改ProgressDialog 的消息。
例如,我有这样的代码在AsyncTask 的doInBackGround 中运行(这只是一个非常小的示例):
byte[] data = getBytesFromFile(image);
String lineEnd = "\r\n";
String twoHyphens = "--";
String boundary = "*****";
pictures.dia.setProgress(30);
pictures.dia.setMessage("Data beginning upload sequence...");
URL connectURL = new URL(this.base_url);
HttpURLConnection conn = (HttpURLConnection) connectURL.openConnection();
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setUseCaches(false);
conn.setRequestMethod("POST");
conn.setRequestProperty("Connection", "Keep-Alive");
conn.setRequestProperty("Content-Type", "multipart/form-data, boundary=" + boundary);
DataOutputStream dos = new DataOutputStream(conn.getOutputStream());
pictures.dia.setProgress(40);
pictures.dia.setMessage("Output Stream prepared...");
当我最初运行时,我收到一个泄漏窗口错误,说我无法在AsyncTask 之外更改dia 的消息。
所以我的问题是,当dia的进度达到一定数量时,如何使用onProgressUpdate设置dia的消息? (即,当dia 的进度 = 30 时,让它说“数据开始上传序列...”)onProgressUpdate 显然必须始终检查dia 的进度(我想就像一个听众)[如果它还没有这样做,我怎样才能让它这样做?]
【问题讨论】:
标签: android android-asynctask message progressdialog