gpt4 book ai didi

java - 有没有办法教 Android Studio 中的 java-> kotlin 转换器在转换 findViewById 时不使用 `as` 运算符?

转载 作者:行者123 更新时间:2023-11-29 18:26:43 28 4
gpt4 key购买 nike

例如

((MyView)view.findViewById(R.id.my_view)).doSomething()

它转换成

(view.findViewById(R.id.my_view) as MyView).doSomething()

我希望它成为

view.findViewById<MyView>(R.id.my_view).doSomething()

最佳答案

Java 到 Kotlin 转换器工作正常,它生成等效代码。您的 Java 代码包含显式强制转换,Kotlin 代码也会包含它们。

如果您想要描述的行为,请先转到 findViewById 的 Android 9 通用语法。

然后是这段Java代码

// Old
final TextView view0 = (TextView)activity.findViewById(id);
// New
final View view1 = activity.findViewById(id);
final TextView view2 = activity.findViewById(id);
// Not useful
final View view3 = activity.<TextView>findViewById(id);

将转换为这个 Kotlin 代码

val view0 = activity.findViewById<View>(id) as TextView
val view1 = activity.findViewById<View>(id)
val view2 = activity.findViewById<TextView>(id)
val view3 = activity.findViewById<TextView>(id)

关于java - 有没有办法教 Android Studio 中的 java-> kotlin 转换器在转换 findViewById 时不使用 `as` 运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58516791/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com