Fra*_*esc 9 android kotlin android-databinding
要为数据绑定适配器使用多个参数,请使用Java语法
@BindingAdapter(value={"arg1", "arg2"}, requireAll = false)
Run Code Online (Sandbox Code Playgroud)
但是这不能在Kotlin中编译:
Error:(13, 37) Unexpected tokens (use ';' to separate expressions on the same line)
Run Code Online (Sandbox Code Playgroud)
什么是Kotlin中多个参数的正确语法?
Str*_*lok 15
应该:
@BindingAdapter(value=*arrayOf("arg1", "arg2"), requireAll = false)
Run Code Online (Sandbox Code Playgroud)
请参阅Kotlin中Java Annotations的官方注释文档
引用:
对于具有数组类型的其他参数,您需要显式使用arrayOf:
// Java
public @interface AnnWithArrayMethod {
String[] names();
}
// Kotlin
@AnnWithArrayMethod(names = arrayOf("abc", "foo", "bar")) class C
Run Code Online (Sandbox Code Playgroud)
编辑:归功于@Francesc
或者你可以简单地做到这一点
@BindingAdapter("arg1", "agr2", "agr3", "agr4", requireAll = false)
Run Code Online (Sandbox Code Playgroud)
从 Kotlin 1.2 开始你可以做
@BindingAdapter(value = ["arg1", "arg2"], requireAll = false)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4270 次 |
| 最近记录: |