【问题标题】:getTag() returning a false stringgetTag() 返回一个假字符串
【发布时间】:2012-05-25 12:05:02
【问题描述】:

我已将图像视图上的标签设置为“空白”,因此在 xml 文件中看起来像这样

android:tag="blank"

现在当我运行它时

((String) buttons[button-2].getTag() == "blank"

它返回假。我找不到原因,有什么想法吗?非常感谢任何帮助。

【问题讨论】:

    标签: android string false-positive


    【解决方案1】:

    您也可以intern 字符串。这总是为相同的字符串内容生成相同的对象,因此您可以与== 进行比较。

    【讨论】:

      【解决方案2】:

      用途:

      ((String) buttons[button-2].getTag().equals("blank")
      

      对于String 比较,您必须使用equals== 测试引用。

      【讨论】:

      • 在这种情况下使用它: if (button % 4 != 0 && ((String) buttons[button].getTag().equals("blank"))) eclipse 返回 'Cannot cast from布尔到字符串'
      • @Benny292,你需要给演员加括号。 "blank".equals(buttons[button].getTag()) 应该做你想做的事。如所写,您将equals 调用的结果转换为String
      • @Benny292 正如 Mike 已经说过的,您必须首先获取标签并将其转换为 String,然后 然后 将其与“空白”进行比较:((String) buttons[button].getTag()).equals("blank"))跨度>
      猜你喜欢
      • 1970-01-01
      • 2019-11-06
      • 2019-12-06
      • 1970-01-01
      • 1970-01-01
      • 2012-10-15
      • 2019-10-29
      • 2012-03-30
      • 1970-01-01
      相关资源
      最近更新 更多