Android加载对话框同时异步执行实现方法
更新时间:2012年11月28日 14:31:31 作者:
Android中通过子线程连接网络获取资料,同时显示加载进度对话框给用户的操作
Android中通过子线程连接网络获取资料,同时显示加载进度对话框给用户的操作,需要Thread和Handler来完成,在Thread中执行比较耗时的代码,完成后再通过Handler发送消息给主线程,由主线程刷新UI。
在实现上比较的烦琐,为简化此方法,花了点时间封装了Thread和Handler,现在通过简单的代码就可以实现相同的功能,而把更多精力放到业务逻辑处理上!
效果如图:
LoadingDialog loadingDialog = new LoadingDialog(getActivityGroup(), loadingDialogExecute);
// loadingDialog.setIsShowDialog(false);
loadingDialog.start();
LoadingDialogExecute loadingDialogExecute = new LoadingDialogExecute() {
@Override
public void executeSuccess() {
// 更新UI操作,如填充ListView
listAdapter = new ListAdapter(MsgListActivity.this, wikis);
listView.setAdapter(listAdapter);
}
@Override
public void executeFailure() {
// 异步执行失败或出错时的处理
// ……
}
@Override
public boolean execute() {
// 在这里执行耗时的操作,如连接网络拉取数据
try {
// ……
} catch (Exception e) {
e.printStackTrace();
setErrorInfo("出现错误\n" + e.getMessage());
return false;
}
return true;
}
};
在实现上比较的烦琐,为简化此方法,花了点时间封装了Thread和Handler,现在通过简单的代码就可以实现相同的功能,而把更多精力放到业务逻辑处理上!
效果如图:
复制代码 代码如下:
LoadingDialog loadingDialog = new LoadingDialog(getActivityGroup(), loadingDialogExecute);
// loadingDialog.setIsShowDialog(false);
loadingDialog.start();
LoadingDialogExecute loadingDialogExecute = new LoadingDialogExecute() {
@Override
public void executeSuccess() {
// 更新UI操作,如填充ListView
listAdapter = new ListAdapter(MsgListActivity.this, wikis);
listView.setAdapter(listAdapter);
}
@Override
public void executeFailure() {
// 异步执行失败或出错时的处理
// ……
}
@Override
public boolean execute() {
// 在这里执行耗时的操作,如连接网络拉取数据
try {
// ……
} catch (Exception e) {
e.printStackTrace();
setErrorInfo("出现错误\n" + e.getMessage());
return false;
}
return true;
}
};
您可能感兴趣的文章:
相关文章
Android编程基于自定义View实现绚丽的圆形进度条功能示例
这篇文章主要介绍了Android编程基于自定义View实现绚丽的圆形进度条功能,结合实例形式详细分析了Android自定义view实现圆形进度条的具体步骤与相关操作技巧,需要的朋友可以参考下2017-01-01Android开发实现仿QQ消息SwipeMenuListView滑动删除置顶功能【附源码下载】
这篇文章主要介绍了Android开发实现仿QQ消息SwipeMenuListView滑动删除置顶功能,结合实例形式分析了Android swipemenulistview相关组件的使用技巧,并附带demo源码供读者下载参考,需要的朋友可以参考下2017-12-12
最新评论