Reputation: 1
I was wondering how to make a webview use the javascript in an app. I have on click events happening everywhere on this page but it won't work on the webview. It works on desktop no problem but this webview is giving me issues.
This is my code
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView = findViewById(R.id.webView);
webView.setWebViewClient(new WebViewClient());
WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);
webView.setClickable(true);
webView.setEnabled(true);
webView.setWebChromeClient(new WebChromeClient());
webView.loadUrl("{my website}");
webView.setOnClickListener( this);
}
@Override
public void onBackPressed() {
if (webView.canGoBack()) {
webView.goBack();
} else {
super.onBackPressed();
}
}
@Override
public boolean onTouch(View view, MotionEvent event) {
switch (event.getAction())
{
case MotionEvent.ACTION_DOWN:
Log.d( TAG, "Action down X:" + event.getX()+ " Y:" + event.getY());
break;
case MotionEvent.ACTION_UP:
Log.d( TAG, "Action up X:" + event.getX()+ " Y:" + event.getY());
break;
case MotionEvent.ACTION_MOVE:
Log.d( TAG, "Action move X:" + event.getX()+ " Y:" + event.getY());
break;
case MotionEvent.ACTION_CANCEL:
Log.d( TAG, "Action cancel X:" + event.getX()+ " Y:" + event.getY());
break;
}
return true;
}
Upvotes: 0
Views: 527
Reputation: 329
You have to override method shouldOverrideUrlLoading()
when setting WebViewClient
. Please check from here.
Upvotes: 0