请求网络数据后更新视图 zhaohu 发布于 2010年12月09日 20时 ( 0评) 3人收藏此代码, 我要收藏(?) Android不能直接在子线程中更新视图,需要借助Handler 类来实现视图更新 标签: Android , Handler , handleMessage

代码片段(1)

[代码] [Java]代码

view source print ?
01 public void onCreate(Bundle savedInstanceState) {
02 super.onCreate(savedInstanceState);
03 setContentView(R.layout.soft_recommend);
04
05 listview = (ListView) findViewById(R.id.recommSoftList);
06 //判断数据对象是否为NULL
07 if(SoftInfo.recommendSofts == null){
08 //定义后台请求网络数据进度条
09 recommProBar = (ProgressBar)findViewById(R.id.recommProBar4);
10 recommProBar.setIndeterminate(false);
11 recommProBar.setVisibility(View.VISIBLE);
12 // 起始一个运行线程
13 new Thread(new Runnable() {
14 public void run() {
15 //请求网络数据
16 iconTexts = SoftInfo.getRecommImageTexts(Constants.RECOMM_SOFT_URL);
17 //执行视图更新
18 SoftRecommend.this.listHandler
19 .sendMessage(SoftRecommend.this.listHandler
20 .obtainMessage());
21 }
22 }).start();
23 }else{
24 iconTexts = SoftInfo.getImageTexts(SoftInfo.recommendSofts);
25 ImageTextAdapter adapter = new ImageTextAdapter(this);
26 adapter.setIconTexts(iconTexts);
27 adapter.setViewId(R.layout.img_txt_view);
28 listview.setAdapter(adapter);
29 }
30 }
31 /**
32 * 更新当前UI视图
33 */
34 Handler listHandler = new Handler(){
35 /**
36 *
37 * @param msg
38 * @author
39 * @date 2010-12-7
40 * (non-Javadoc)
41 * @see android.os.Handler#handleMessage(android.os.Message)
42 */
43 public void handleMessage(Message msg){
44 recommProBar.setVisibility(View.GONE);
45 ImageTextAdapter adapter = new ImageTextAdapter(SoftRecommend.this);
46 adapter.setIconTexts(iconTexts);
47 adapter.setViewId(R.layout.img_txt_view);
48 listview.setAdapter(adapter);
49 super.handleMessage(msg);
50 }
51 };

更多相关文章

  1. Android(安卓)Studio中svn的使用(全部在这里)
  2. [置顶] Android(安卓)Studio快捷键
  3. Android(安卓)Studio 快捷键 (Mac OS X)
  4. Android(安卓)Studio JNI开发-CMake方式
  5. 一行代码,完成多层视图回退功能( android)(续)
  6. 《第一行代码》第一章
  7. Android上传文件到服务端并显示进度条
  8. getGlobalVisibleRect和getLocalVisibleRect
  9. 【转】Android通过Intent发送电子邮件含附件

随机推荐

  1. 网易数据库运维自动化演进与 AIOps 探索
  2. 携程万台规模容器云平台运维管理实践
  3. 数据分析的基石-真实世界
  4. 降级?限流?程序员双十一过后如何5元花3天?
  5. 设计思想赏析-分布式id生成算法-雪花算法
  6. 设计思想赏析-基因算法
  7. 第一课 vscode软件和常用插件的下载安装
  8. 编辑器安装与emmet语法
  9. Visual Studio Code 编辑器
  10. 超强大工具!快速下载安装vscode和必备插件