javascript - Android WebVIew,点击问题
问题描述
我想知道如何让 webview 在应用程序中使用 javascript。我在此页面上随处发生点击事件,但它不适用于 web 视图。它在桌面上工作没问题,但这个 webview 给我带来了问题。
这是我的代码
@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;
}
解决方案
shouldOverrideUrlLoading()
设置时必须覆盖方法WebViewClient
。请从这里检查。
推荐阅读
- android - 使用 loadDataWithBaseURL 禁用 webview 中的链接
- javascript - 通过获取对象的总和来减少 SQL 查询结果
- javascript - Boostrap 验证器 1000Hz v0_11_9 更多自定义验证
- reactjs - 作为道具传递的函数不是函数
- python - 是否可以在不修复的情况下为 Widget 设置宽度?
- python - 从列中的字符串中提取每行的最大值
- ios - 如何在不重新加载所有 UITableView 数据的情况下更新特定 UITableViewCell 中的标签?
- java - 捕获来自放心请求的响应的问题
- kotlin - Kotlin:在创建协程范围时是否应该将作业与调度程序一起传递
- windows - Windows 的 Nginx 配置设置