2011-09-21 92 views
0

我对此有点疯狂。在我的应用程序中,我使用代表公交车站的字符串,然后使用与其匹配的算法并显示其时间表。我需要让这个窗口成为一个活动,而不是一个对话框,并且正在使用意图。我的继承人代码发送意图:Android意图问题:为什么这两个变量不相等?

    Intent intent = new Intent(context, StopDialogActivity.class); 
       intent.putExtra("stop name", stopName); 
       context.startActivity(intent); 

和继承人我的代码检索字符串(在我的onCreate):正常

Bundle extras = getIntent().getExtras(); 
departureStopName=extras.getString("stop name"); 

字符串显示,但它不是等于测试字符串我有相同的停止。意图发送一个正确的整数,我在做什么错误处理字符串?

+2

你如何测试平等?确保在比较字符串时使用'testName.equals(stopName)'而不是'testName == stopName'。在Intent中放置这样的东西时,通常会使用'static final String'作为关键字。这样就不会在两端出现错误。 –

+0

它报告为真 – jfisk

+0

那么这样做解决了这个问题,如果是的话,我可以发表一个答案。 –

回答

1

确保在比较字符串时使用testName.equals(stopName)而不是testName == stopName。

使用.equals()在String类中使用equals方法来比较内容。使用==比较字符串对象本身,它们需要是内存中相同的对象才能评估为真。

+0

为什么有人会在OP的评论中特意提到的答案是正确的。我之所以加上这个理由,只是因为他说如果我将它作为答案添加,他会将其标记为正确。下次投票前阅读评论。 –

0

啊,我的问题是,当我使用.equals()作为测试,看看它是否通过好,我在我的代码部分打破了==。