在Web视图中,我加载了一个本地index.html文件,并将使用javaScript的HTML内容从远程加入Webview。 我想要执行一些任务,如显示工具提示,当用户点击Webview包含的元素时,警告框额外。这听起来像它有非常简单的解决方案。但我能够这样做! 谢谢!Android - Webview元素onClick事件不会触发?
0
A
回答
0
添加的WebView到您的应用程序
<?xml version="1.0" encoding="utf-8"?>
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
在JAVA加载URL
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
添加Internet权限
<manifest ... >
<uses-permission android:name="android.permission.INTERNET" />
...
在网页视图启用javascript
WebView myWebView = (WebView) findViewById(R.id.webview);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
发出的接口
public class WebAppInterface {
Context mContext;
/** Instantiate the interface and set the context */
WebAppInterface(Context c) {
mContext = c;
}
/** Show a toast from the web page */
@JavascriptInterface
public void showToast(String toast) {
Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
}
}
您可以将这个类绑定到与addJavascriptInterface网页视图运行的JavaScript()并命名界面的Android。例如:
WebView webView = (WebView) findViewById(R.id.webview);
webView.addJavascriptInterface(new WebAppInterface(this), "android");
在HTML
<input type="button" value="Say hello" onClick="showAndroidToast('Hello Android!')" />
<script type="text/javascript">
function showAndroidToast(toast) {
Android.showToast(toast);
}
</script>
希望这有助于你
来源https://developer.android.com/guide/webapps/webview.html#AddingWebView
1
shouldOverrideUrlLoading
前。
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if(url!= && url.endWith("your_url.html")) {
//your tootip, alertIDialog, etc.
// return true to report that we have intercepted the event
return true;
}
return super.shouldOverrideUrlLoading(view, url);
https://developer.android.com/reference/android/webkit/WebViewClient.html#shouldOverrideUrlLoading(android.webkit.WebView,android.webkit.WebResourceRequest)
相关问题
- 1. OnClick事件不会触发
- 2. onClick事件不会触发
- 3. onclick事件不会触发
- 4. jQuery创建元素触发onclick事件
- 5. jQuery与C#不会触发onclick事件
- 6. HTML onClick事件不会触发
- 7. React onClick事件不会触发setState
- 8. Android的onClick事件不触发
- 9. Android NavigationView Headerlayout的视图元素不会触发点击事件
- 10. iPad上的HTML5视频元素不会触发onclick或touchstart事件?
- 11. Onclick事件不会在谷歌地图API中触发img元素
- 12. 单元格事件不会触发
- 13. 如何在form_for textarea元素上触发onClick事件
- 14. 当元素通过mysql显示时,jquery事件不会触发
- 15. JQuery事件不会触发Dust.js模板中的元素
- 16. jQuery注意事件不会触发表元素
- 17. jQuery + Greasemonkey,Click事件不会触发正确的元素?
- 18. 为什么mouseup事件不会触发子元素?
- 19. 查看事件不会触发创建的元素?
- 20. 元素触发click事件不会与离子
- 21. XmlReader - 自闭元素不会触发EndElement事件?
- 22. 按需加载元素后不会触发骨干事件
- 23. 滚动事件不会触发我的div元素
- 24. Click事件不会触发Chrome中的音频元素
- 25. onclick事件,触发onload
- 26. 多个onClick事件触发
- 27. iPad上的HTML5视频元素不会触发onclick?
- 28. ImageButton OnClick事件不能触发
- 29. WebSocket不会触发事件
- 30. “backbutton”事件不会触发
我并不需要一个接口作为工具提示和警告显示在HTML没有的Andorid原生。 – Tulsi