2014-11-24 77 views
0

我使用.equals方法将传递的字符串(来自其他活动)与int进行比较以显示特定图像,我不确定.equals方法是否合适。这是我现在使用的代码。不幸的是,它不工作,并始终显示第一张图片!与Android中的equals()方法比较

获取选择列表项的passedID:

passedID = getIntent().getStringExtra("ID"); 

显示图像部分:

if(passedID.equals('1')){ 
     image.setImageResource(R.drawable.image01); 
} 
else if(passedID.equals('2')){ 
     image.setImageResource(R.drawbale.image02); 
} 

感谢您的帮助!

+0

欢迎来到SO。如果下面的答案之一解决了您的问题,您应该接受它(点击相应答案旁边的复选标记)。这有两件事。它可以让每个人都知道你的问题已经得到解决,并且可以帮助你获得帮助。请参阅[此处](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235)以获取完整说明。 – fhdrsdg 2014-11-25 12:21:58

回答

6

文字String被双引号(")括起来,而不是单引号(')。单引号用于文字char。在你的情况下,你比较StringCharacter(自动自动装箱从charCharacter),这将导致总是false结果。

这是你的代码应该如何看起来像:

if(passedID.equals("1")){ 
     image.setImageResource(R.drawable.image01); 
} 
else if(passedID.equals("2")){ 
     image.setImageResource(R.drawbale.image02); 
} 
0

你为什么不干脆把int作为额外?

intent.putExtra("ID", 1); 
... 
if (intent.getIntExtra("ID", 1) == 1) { 
    ... 
} else if (intent.getIntExtra("ID", 1) == 2) { 
    ... 
}