2014-03-24 92 views
0

我正在创建Handler,但由于某些原因,if statement不是trigger。日志在if statement之前打印出正确的值。Android中的Handler问题

mHandler = new Handler() { 
@Override public void handleMessage(Message msg) { 
    String s=(String)msg.obj; 
    s = s.trim(); 
    Log.v("mHandler reply", s); 
    if(s == "OK"){ 
     Dialog.dismiss(); 
    } 
} 

};

这里是日志

03-24 09:02:53.707: V/mHandler reply(7331): OK 

这是为什么不工作?

+0

使用'等于()'测试字符串equality.http:// stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java – laalto

+0

equalsIgnoreCase – cesztoszule

回答

2

使用equals()方法,而不是==运营商String比较如下...

if(s.equals("OK")){ 
    Dialog.dismiss(); 
} 

要获得更多信息,请How do I compare strings in Java?