2 markdowneide markdowneide 于 2013.06.27 13:33 提问

如何显示对话框的加载进度

我使用下面的代码来加载一个URL

URL url = new URL(urlstr);
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.setConnectTimeout(10000);
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setUseCaches(false);
InputStream is = connection.getInputStream();  

因为代码行InputStream is = connection.getInputStream();会占据一些时间。所以我想在加载时候显示加载进度。如何实现?

在 AActivity 中,下面的代码是用来调用 BActivity

Intent intent = new Intent(AActivity.this, BActivity.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);  
Window w = MyGroup.group.getLocalActivityManager().startActivity("BActivity", intent);  
View view = w.getDecorView();  
MyGroup.group.setContentView(view);

BActivity 加载 URL 并提取信息。 用于加载的代码在 onCreate()中。

2个回答

shaojie519
shaojie519   2013.06.27 13:54

使用Asynctask ,有回调进度的函数,很方便的

cj6585256
cj6585256   2013.06.27 13:56
public abstract class AsyncTask<Params, Progress, Result> {
protected void onPreExecute() {
//初始化 显示进度条
    }

 @SuppressWarnings({"UnusedDeclaration"})
    protected void onPostExecute(Result result) {
 //请求结束 关闭进度条  result就是Response的值

> 

    }

 protected abstract Result doInBackground(Params... params){
//后台操作 即你的网络请求
}

protected void onProgressUpdate(Progress... values) {
//更新进度
    }
}
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!