【发布时间】:2020-11-15 02:25:49
【问题描述】:
fun tap(view: View) {
val img = view
}
我希望这个变量 img 是一个图像视图,但是我想知道如何将视图转换为图像视图。
【问题讨论】:
标签: android kotlin view casting imageview
fun tap(view: View) {
val img = view
}
我希望这个变量 img 是一个图像视图,但是我想知道如何将视图转换为图像视图。
【问题讨论】:
标签: android kotlin view casting imageview
请尝试如下投射:
val img: ImageView = view as ImageView
【讨论】:
你可以像这样投射你的观点:
val img: ImageView = view as ImageView
“as”关键字将转换视图。
欢迎来到stackoverflow!!
【讨论】:
如果您的函数中的视图可以采用多个值,在这种情况下,您可能需要首先使用以下代码检查视图是否对应于预期值:-
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。
【讨论】: