我创建了一个扩展功能,用于侦听按钮的单击侦听器,当我尝试从Java代码访问它时,它不起作用,
无法访问Java文件中的clicks(),这是我尝试过的
您能否建议解决方法。
谢谢R
文件-Extension.kt
fun Button.clicks(): Flow<Unit> = callbackFlow {
setOnClickListener {
offer(Unit)
}
awaitClose { setOnClickListener(null) }
}
在我的Java代码中-FillingFragment.java
@NotNull
@Override
public Flow<Void> getStartFillingObservableFlow() {
return dataViewHolder.btnStartFilling.clicks(); //CLICKS IS NOT. RECOGNISED
}
DataViewHolder.Java
@BindView(R.id.start_filling_action)
public Button btnStartFilling;
扩展函数通常会编译为静态函数,因此您可以像这样调用它们:
ExtensionKt.clicks(dataViewHolder.btnStartFilling);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句