答案 0 :(得分:2)
问题在于,您要比较两个对象是否共享相同的内存地址。你应该比较两个对象的内容。
解决方案:使用String.equals
比较字符串值的内容。
if("1".equals(m)){
}
注1:对于基本类型(int,double,float,short和byte)==
将起作用,因为比较实际值而不是内存地址。对于对象(非基元)==
总是比较两个对象的内存地址。
注2: @pskink发表了非常有用的评论,您确实应该使用Message.what
代替Message.obj
。 Message.obj
对于传输所需的实际数据(在同一个流程中)非常有用,但不能识别消息本身。
答案 1 :(得分:1)
你的if条件应该是这样的
if(m==1) //is for int
if(m.equals("1")) //is for string