[英]Using kotlin extension function in Java code
我創建了一個擴展 function 用於監聽按鈕的單擊監聽器,當我嘗試從 Java 代碼訪問它時它不起作用,
無法從 java 文件訪問 clicks(),這是我嘗試過的
你能建議如何解決這個問題。
謝謝 R
文件 - 擴展名.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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.