Kotlin代码即使调试也不正确

时间:2019-03-27 21:58:54

标签: android kotlin

下面的代码作用域的specialChildView.id == R.id.imageViewCancel部分执行错误。经过大量的干净项目尝试后,什么都没有解决。有趣的是,这不仅在调试时发生。

有什么我想念的吗?

值为

  • specialChildView.id = 2131361965
  • R.id.imageViewCancel = -1000183

整个代码

override fun onSpecialViewClick(specialChildView: View, listPosition: Int) {
    if (specialChildView.id == R.id.imageViewCancel) {
        mClickListener.onCancelClicked(specialChildView, listPosition)
    } else {
        mClickListener.onClick(specialChildView, listPosition)
    }
}

2131361965-1000183相等的时刻

enter image description here

1 个答案:

答案 0 :(得分:0)

我无法在计算机上进行测试,但可以尝试一些操作。没有更多详细信息,这很难回答,例如,您只是检查我的值还是检查视图引用是否匹配?

在Kotlin中,'=='仅检查值的相等性。如果要检查参考,则需要。

if (specialChildView.id === R.id.imageViewCancel)

在某些情况下,您需要使用android扩展程序进行类似的操作。

if(specialChildView == imageViewCancel)

或者可能是

if (specialChildView == specialChildView[listPosition].imageViewCancel