我有一项活动(联系活动.kt)仅包含一个 webView 组件。使用 Kotlin 编写活动。
我想用我的自定义 webView 替换 webView (ObservableWebView.java).
所以这里的代码(我的活动.kt):
class ContactActivity : AppCompatActivity() {
@SuppressLint("NewApi")
override fun onCreate(savedInstanceState: Bundle?) {
verticalLayout {
val observableWebView = object : ObservableWebView(MainApp.getAppContext())
observableWebView { // error here
setOnLongClickListener(object : View.OnLongClickListener {
override fun onLongClick(v: View): Boolean {
return true
}
})
}
}
}
}
我还有自定义 webView - ObservableWebView.java:
public class ObservableWebView extends WebView {
private OnScrollChangedCallback mOnScrollChangedCallback;
public ObservableWebView(final Context context) {
super(context);
}
public ObservableWebView(final Context context, final AttributeSet attrs) {
super(context, attrs);
}
public ObservableWebView(final Context context, final AttributeSet attrs, final int defStyle) {
super(context, attrs, defStyle);
}
@Override
protected void onScrollChanged(final int l, final int t, final int oldl, final int oldt) {
super.onScrollChanged(l, t, oldl, oldt);
if (mOnScrollChangedCallback != null) mOnScrollChangedCallback.onScroll(l, t);
}
public OnScrollChangedCallback getOnScrollChangedCallback() {
return mOnScrollChangedCallback;
}
public void setOnScrollChangedCallback(final OnScrollChangedCallback onScrollChangedCallback) {
mOnScrollChangedCallback = onScrollChangedCallback;
}
/**
* Impliment in the activity/fragment/view that you want to listen to the webview
*/
public static interface OnScrollChangedCallback {
public void onScroll(int l, int t);
}
}
但我得到编译错误我的活动.kt:
Error:(145, 13) Expression 'observableWebView' of type '<no name provided>' cannot be invoked as a function. The function 'invoke()' is not found