私は1つのwebViewコンポーネントしか含まない1つのアクティビティ(ContactActivity.kt)を持っています。 Kotlinへのアクティビティ書き込み。Android:Kotlin:カスタムwebView - 関数として呼び出すことはできません。 'invoke()'関数が見つかりません
webViewを私のカスタムWebView(ObservableWebView.java)に置き換えたいと思います。だからここ
コード(MyActivity.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);
}
}
をしかし、私は、エラーをコンパイルし得るMyActivity.kt :
Error:(145, 13) Expression 'observableWebView' of type '<no name provided>' cannot be invoked as a function. The function 'invoke()' is not found