putExtra和字符串值有什么问题

时间:2013-07-03 00:08:44

标签: android string

好的......这有什么问题? 我做了一个按钮......将其添加到意图中:

intent.putExtra("test","test");

然后在onReceive上遇到了一个小问题:

Bundle extras = intent.getExtras();
Log.v("Test", "Ok lets see");
String t=extras.getString("test");
Log.v("Test", "t="+t);
if(t=="test") t="tada";
else t="test";
Log.v("Test", "Ok...t="+t);

现在查看日志

的结果
07-02 23:48:24.195    6278-6278/com.example.widget             V/Test: Ok lets see
07-02 23:48:24.205    6278-6278/com.example.widget             V/Test: t=test
07-02 23:48:24.205    6278-6278/com.example.widget             V/Test: Ok...t=test

我花了1-2个小时才发现我的代码出了什么问题。当然我不知道上面这个例子有什么问题。我的解决方案是从字符串更改为数字(在我的情况下为字节)。所以在那之后一切都还好。

1 个答案:

答案 0 :(得分:3)

您使用==比较字符串,只有在引用完全相同对象时才有效。

请改用equals方法。

if(t.equals("test"))
    t = "tada";

Log.v(t) //Logs tada

有关详细信息,请参阅this answer