我在两个活动之间传递值并获取这样的值:
Bundle extras = getIntent().getExtras();
if (extras != null)
{
initialUrl = extras.getString("initialUrl");
isFollow = extras.getString("isFollow");
}
if (isFollow == "true") {
editUrl.setText(initialUrl);
setUpWebView(initialUrl);
} else if (isFollow == "false") {
editUrl.setText("http://www.google.com");
setUpWebView("http://www.google.com");
}
问题是我可以通过向变量添加watch来查看调试窗口中检索的值,但是当编译器输入语句if(isFollow ==“true”)时,条件失败。其他情况也没有处理。我还需要做些什么来确保我的if条件得到正确满足?
答案 0 :(得分:2)
你应该使用
isFollow.equals("true")
在你的陈述中。
答案 1 :(得分:1)
如果String类型的数据放在bundle中,请尝试使用以下代码
String isFollow = null;
Bundle extras = getIntent().getExtras();
if (extras != null)
{
initialUrl = extras.getString("initialUrl");
isFollow = extras.getString("isFollow");
}
if (isFollow.equals("true")) {
editUrl.setText(initialUrl);
setUpWebView(initialUrl);
} else if (isFollow.equals("false")) {
editUrl.setText("http://www.google.com");
setUpWebView("http://www.google.com");
}
如果将布尔类型的数据放入捆绑包中,请尝试使用以下代码
boolean isFollow = null;
Bundle extras = getIntent().getExtras();
if (extras != null)
{
initialUrl = extras.getString("initialUrl");
isFollow = extras.getBoolean("isFollow");
}
if (isFollow) {
editUrl.setText(initialUrl);
setUpWebView(initialUrl);
} else {
editUrl.setText("http://www.google.com");
setUpWebView("http://www.google.com");
}
答案 2 :(得分:0)
你需要测试
isFollow.equals("true")
或者它是一个布尔值而不是一个字符串
isFollow == true
或仅isFollow
(注意第二个没有引号)
答案 3 :(得分:0)
我知道这是一个非常晚的答案,但如果你将布尔值传递给发件人的意图,最好这样做:
Boolean isFollow = extras.getBoolean("isFollow");
if(isFollow) {
//Do stuff
}