Android网络加载时显示进度条
2011-12-11 15:30
369 查看
Android网络加载时显示进度条
本文来自:http://www.youmi.net/bbs/thread-99-1-1.html
最近在做一个网络应用软件,为了提高用户体验,必须在联网获取数据时,用一个进度条提示用户正在加载数据,以下讲一下我是如何实现这种效果的。
由于Android的界面更新只能通过自己的UI线程进行操作,所以我们需要用到Handler在进行更新界面的操作。
1、声明变量
private Handler handler = new Handler();
private ProgressDialog progressDialog = null;
2、在开始进行网络连接时显示进度条对话框
progressDialog = ProgressDialog.show(MyActivity.this, "请稍等...", "获取数据中...",true);
3、在handler.post中进行界面更新
public void setListAdapter(){
handler.post(new Runnable() {
public void run() {
//将获取到的数据更新到列表中
MyListView.setAdapter(saImageItems);
}
}
});
4、开个新的线程进行网络连接获取数据
new Thread(new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
//向服务器请求数据
mapList=MyAPI.getAllDatas();
setListAdapter(mapList);
//更新完列表数据,则关闭对话框
progressDialog.dismiss();
}}).start();
整个过程就这样完成了,下面贴一下我项目中的效果图:
下载 (17.17 KB)
2010-5-21 12:21
下载 (27.39 KB)
2010-5-21 12:22
还有另外一种进度条的提示,是在对话框的标题上有圆形进度条进行提示。
1、不能将Activity布局设计为无标题;
并在setContentView()之前设置一下标题布局形式:
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
2、在连接网络前,设置进度条为可视状态
setProgressBarIndeterminateVisibility(true);
3、开一个新的线程向服务器请求数据,获取数据后,将进度条设为不可视状态
new Thread(new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
try {
todosomething();
setProgressBarIndeterminateVisibility(false);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}}).start();
OK了,在看看我项目中的效果图吧
下载 (46.83 KB)
2010-5-21 12:21
下载 (43.75 KB)
2010-5-21 12:23
本文来自:http://www.youmi.net/bbs/thread-99-1-1.html
最近在做一个网络应用软件,为了提高用户体验,必须在联网获取数据时,用一个进度条提示用户正在加载数据,以下讲一下我是如何实现这种效果的。
由于Android的界面更新只能通过自己的UI线程进行操作,所以我们需要用到Handler在进行更新界面的操作。
1、声明变量
private Handler handler = new Handler();
private ProgressDialog progressDialog = null;
2、在开始进行网络连接时显示进度条对话框
progressDialog = ProgressDialog.show(MyActivity.this, "请稍等...", "获取数据中...",true);
3、在handler.post中进行界面更新
public void setListAdapter(){
handler.post(new Runnable() {
public void run() {
//将获取到的数据更新到列表中
MyListView.setAdapter(saImageItems);
}
}
});
4、开个新的线程进行网络连接获取数据
new Thread(new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
//向服务器请求数据
mapList=MyAPI.getAllDatas();
setListAdapter(mapList);
//更新完列表数据,则关闭对话框
progressDialog.dismiss();
}}).start();
整个过程就这样完成了,下面贴一下我项目中的效果图:
下载 (17.17 KB)
2010-5-21 12:21
下载 (27.39 KB)
2010-5-21 12:22
还有另外一种进度条的提示,是在对话框的标题上有圆形进度条进行提示。
1、不能将Activity布局设计为无标题;
并在setContentView()之前设置一下标题布局形式:
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
2、在连接网络前,设置进度条为可视状态
setProgressBarIndeterminateVisibility(true);
3、开一个新的线程向服务器请求数据,获取数据后,将进度条设为不可视状态
new Thread(new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
try {
todosomething();
setProgressBarIndeterminateVisibility(false);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}}).start();
OK了,在看看我项目中的效果图吧
下载 (46.83 KB)
2010-5-21 12:21
下载 (43.75 KB)
2010-5-21 12:23
相关文章推荐
- Android网络加载时显示进度条
- Android网络加载时显示进度条对话框
- Android网络加载时显示进度条
- Android网络加载时显示进度条(转)
- Android网络加载时显示进度条
- Android--当webview加载网页的时候在标题栏上显示加载进度
- Android 下载网络url文件并显示进度
- Android 连接网络时显示进度条
- android 网络异步加载数据进度条
- Android自定义标题栏:显示网页加载进度
- android 网络加载提示进度封装 View
- Android 本地加载网页与显示网络图片
- Android标题栏中显示加载进度条
- android界面之美---自定义网络请求进度加载对话框
- android图片网络异步加载显示
- Android 本地加载网页&显示网络图片
- Android实习03:ListView网络异步加载图片的优化显示(1)
- Android_Handler连接网络时显示进度条
- Android 连接网络时显示进度条
- android-Picasso请求https加载网络图片不能显示的解决方案