【问题标题】:Comparing with equals() method in Android与 Android 中的 equals() 方法比较
【发布时间】:2014-11-24 15:53:15
【问题描述】:

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

获取所选列表项的传递ID:

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

显示图片部分:

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

感谢您的帮助!

【问题讨论】:

  • 欢迎来到 SO。如果以下答案之一解决了您的问题,您应该接受它(单击相应答案旁边的复选标记)。这有两件事。它让每个人都知道您的问题已得到解决,并为帮助您的人提供帮助。有关完整说明,请参阅here

标签: java android compare


【解决方案1】:

文字 String 用双引号 (") 而非单引号 (') 括起来。单引号用于文字char。在您的情况下,您将StringCharacter 进行比较(从charCharacter 的自动装箱),这将始终导致false 结果。

你的代码应该是这样的:

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-26
      • 2011-01-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多