Android加载对话框,异步执行代码的封装类

Android中通过子线程连接网络获取资料,同时显示加载进度对话框给用户的操作,需要Thread和Handler来完成,在Thread中执行比较耗时的代码,完成后再通过Handler发送消息给主线程,由主线程刷新UI。

在实现上比较的烦琐,为简化此方法,花了点时间封装了Thread和Handler,现在通过简单的代码就可以实现相同的功能,而把更多精力放到业务逻辑处理上!

效果如图:

 1 LoadingDialog loadingDialog = new LoadingDialog(getActivityGroup(), loadingDialogExecute);
 2 // loadingDialog.setIsShowDialog(false);
 3 loadingDialog.start();
 4 
 5 
 6 LoadingDialogExecute loadingDialogExecute = new LoadingDialogExecute() {
 7 
 8     @Override
 9     public void executeSuccess() {
10         // 更新UI操作,如填充ListView
11         listAdapter = new ListAdapter(MsgListActivity.this, wikis);
12         listView.setAdapter(listAdapter);
13     }
14     
15     @Override
16     public void executeFailure() {
17         // 异步执行失败或出错时的处理
18         // ……
19     }
20     
21     @Override
22     public boolean execute() {
23         // 在这里执行耗时的操作,如连接网络拉取数据
24         try {
25             // ……
26         } catch (Exception e) {
27             e.printStackTrace();
28             setErrorInfo("出现错误\n" + e.getMessage());
29             return false;
30         }
31         return true;
32     }
33 };

需要使用以下两个类
下载

 

 

posted @ 2012-11-27 21:21  优化设计  阅读(1523)  评论(4编辑  收藏  举报