与Android中的equals()方法进行比较

时间:2014-11-24 15:53:16

标签: java android compare

我使用.equals方法将传递的字符串(来自另一个活动)与int进行比较以显示某个图像,并且我不确定.equals方法是否合适。这是我现在使用的代码。不幸的是它不起作用并且一直显示第一张图像!

获取所选listitem的passID:

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

显示图像部分:

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

感谢您的帮助!

2 个答案:

答案 0 :(得分:6)

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

这就是你的代码的样子:

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

答案 1 :(得分:0)

为什么你不把int作为额外的?

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