作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
例如
((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/
我是一名优秀的程序员,十分优秀!