android用webview加载H5页面出现点击事件失效的问题解决

本文详细探讨了在Android应用中使用WebView加载H5页面时遇到的点击事件失效问题,分析了可能的原因,包括JavaScript接口调用、WebView设置、页面加载状态等,并提供了解决方案,帮助开发者解决此类问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

不论点击还是标签链接都失效,反复查阅,可能性方法试了又试最终解决。总结下:
1.开启js支持
2.webview 设置WebChromeClient
3.websetting和webviewclient

import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.view.Menu;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends Activity {

	@SuppressLint("SetJavaScriptEnabled")
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
WebView wv = new WebView(getApplicationContext());
		
WebSettings webSettings = wv.getSettings();
		
wv.getSettings().setSupportZoom(true);
webSettings.setBuiltInZoomControls(true);
webSettings.setUseWideViewPort(true);
webSettings.setLoadWithOverviewMode(true);
webSettings.setDefaultTextEncodingName("utf-8");

		wv.getSettings().setJavaScriptEnabled(true);
		wv.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); 
		wv.requestFocus();
		 //点击超链接的时候重新在原来的进程上加载URL
		wv.setWebViewClient(new WebViewClient() {
	        public boolean shouldOverrideUrlLoading(WebView view, String url) {
	            view.loadUrl(url);
	            return true;
	        }
	        @Override
	        public void onPageFinished(WebView view, String url) {
	            super.onPageFinished(view, url);
	        }
	    });
		
//		wv.loadUrl("https://www.baidu.com");
		wv.loadUrl("file:///android_asset/H5/test.html");
		setContentView(wv);		
	}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值