问题描述
- 如何显示对话框的加载进度
-
我使用下面的代码来加载一个URLURL 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()中。
解决方案
使用Asynctask ,有回调进度的函数,很方便的
解决方案二:
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) {
//更新进度
}
}
时间: 2024-09-30 12:03:45