【问题标题】:How to convert View into Imageview in Kotlin [duplicate]如何在 Kotlin 中将 View 转换为 Imageview [重复]
【发布时间】:2020-11-15 02:25:49
【问题描述】:
fun tap(view: View) {

    val img = view
 }

我希望这个变量 img 是一个图像视图,但是我想知道如何将视图转换为图像视图。

【问题讨论】:

    标签: android kotlin view casting imageview


    【解决方案1】:

    请尝试如下投射:

    val img: ImageView = view as ImageView
    

    【讨论】:

      【解决方案2】:

      你可以像这样投射你的观点:

      val img: ImageView = view as ImageView
      

      “as”关键字将转换视图。

      欢迎来到stackoverflow!!

      【讨论】:

      • 它更适合用作?运算符以避免空指针异常,您可以在下面查看我的答案以查看其执行情况。
      【解决方案3】:

      如果您的函数中的视图可以采用多个值,在这种情况下,您可能需要首先使用以下代码检查视图是否对应于预期值:-

      if(view is ImageView) { //do Something}
      
      else if(view is TextView) { //do something}
      

      否则如何在 kotlin 中投射视图? 正如其他答案也提到的,使用as?关键字,如果成功,它将转换为类型,如果转换不成功,则返回null,如下所示,如果是字符串,:-

      private fun castOrNull(anything: Any): String? {
      return anything as? String  }
      

      在这里查看reference

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-02-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-03-12
        相关资源
        最近更新 更多