Christopher Pham
Christopher Pham

Reputation: 1

Android WebVIew, click problems

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

Answers (1)

Fahad Nasrullah
Fahad Nasrullah

Reputation: 329

You have to override method shouldOverrideUrlLoading() when setting WebViewClient. Please check from here.

Upvotes: 0

Related Questions