定义了一个Handler 已经从别的地方取值取到了msg 那我现在想把这个msg取出来 要怎么弄 为什么我定义了一个getRmsg(),不报错 但是我在别的方法里调用handler不能用getRmsg呢 用System.out.print确实可以看到rmsg是我想要的值 我要怎么才能拿到rmsg 看得到摸不着好难受 新手望指教
Handler handler = new Handler() {
private String rmsg;
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
rmsg=msg.getData().toString();
}
public String getRmsg(){
return rmsg;
};
};
把private String rmsg;写到外面去,做成全局变量,然后就行了
你的message里面添加值了吗?
例如 String str = (String)msg.obj;
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
System.out.println(msg.what);//打印的是1
System.out.println((String)msg.obj);//打印的是hello world
}
};
private void sendMsg() {
Message msg = handler.obtainMessage();
msg.what = 0x01;
msg.obj = "hello world";
handler.sendMessage(msg);
}
Handler myHandler;
Message message = new Message();
message.what = 9527;
myHandler.sendMessage(message);
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if (msg.what == 9527) {
}
}
handler发送消息时,同时发送一个message,设置msg.obj的值,在从那msg.obj获取
handler发送消息时,同时发送一个message,设置msg.obj的值,在从那msg.obj获取,我觉得也是
你的Handler在传值的时候,有用message传值吗?没有传值你怎么会有相应的内容
Message类中有很多属性,注意属性的类型,有int、String、Bundle类型,分别可以传递不同的数据类型。
好好看看handle传值的相关知识。。。。。。。。