Android的handler机制

在后台的线程中接收服务器消息后,我想通过Handle更新activity的ListView应该怎么做??求帖代码……... 在后台的线程中 接收服务器消息后,我想通过Handle更新 activity 的ListView 应该怎么做??求帖代码…… 展开
 我来答
QQMSD8
2015-09-02 · 知道合伙人软件行家
QQMSD8
知道合伙人软件行家
采纳数:6788 获赞数:13239
没有做不到,只有想不到,帮助别人的同时也是对自己的提升

向TA提问 私信TA
展开全部

线程中加载网络数据,数据解析后set给Adapter

通过handler发送消息调用Adapter.notifyDataSetChanged();即可

关于Handler + Thread的更多用法,建议先看视频教程

葡萄酒2046
2015-09-02
知道答主
回答量:7
采纳率:0%
帮助的人:2.6万
展开全部
handler是子线程和主线程的交互
第一步:建立成员变量handler
private Handler handler;

第二步:在onCreate方法中初始化handler

this.handler = new Handler(){
@Override
public void handleMessage(Message msg) {
if (msg.what == 1){
//这里通知ListView更新
adapter.notifyDataSetChanged();
}
}
};

第三步:在子线程中处理完数据后通知handler
handler.sendEmptyMessage(1);

基本就这样了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ZZ_045
2015-09-02 · 超过17用户采纳过TA的回答
知道答主
回答量:52
采纳率:0%
帮助的人:26.4万
展开全部
private void reFresh() {
// TODO Auto-generated method stub
        if(gethttpmsg.equals("ok")){
            handler.sendEmptyMessage(1);
        }
  }
  
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
if(msg.what==1){
//此处写更新listview的代码
}
}
};
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f4c9a2fae
2015-09-02 · TA获得超过1059个赞
知道小有建树答主
回答量:113
采纳率:100%
帮助的人:68.9万
展开全部
直接调用那个adapter的notifyDataSetChanged()方法就可以了
追问
adapter对象也是在activity中
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式