如何在 Kotlin 中将 View 转换为 Imageview [重复]

Posted

技术标签:

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

    val img = view
 

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

【问题讨论】:

【参考方案1】:

请尝试如下投射:

val img: ImageView = view as ImageView

【讨论】:

【参考方案2】:

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

val img: ImageView = view as ImageView

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

欢迎来到***!!

【讨论】:

它更适合用作?运算符以避免空指针异常,您可以在下面查看我的答案以查看其执行情况。【参考方案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。

【讨论】:

以上是关于如何在 Kotlin 中将 View 转换为 Imageview [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Kotlin 中将 Firestore 日期/时间戳转换为日期?

如何在 Kotlin 中将 String 转换为 Int?

如何在 Kotlin 中将数据类转换为 ByteBuffer?

如何在 Kotlin 中将 ArrayList 转换为 JSONArray()

如何在 Kotlin 中将字符串数组 JSON 转换为 ArrayList?

如何在 Kotlin 中将 listView 转换为 RecyclerView