Webviewでは、ローカルのindex.htmlファイルを読み込み、javaScriptを使用してHTMLコンテンツをリモートからWebviewに追加しています。 Webviewに含まれている要素をユーザーがクリックすると、ツールチップを表示する、アラートボックスを表示するなどのタスクを実行したいと思う。 P.Sそれはかなりストレートな解決策を持っているように聞こえる。しかし、私はそうすることができます! ありがとう!Android - Webview ElementのonClickイベントが発生していませんか?
0
A
答えて
0
JAVA負荷URL
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
追加INTERNET権限でアプリケーション
<?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"
/>
へのWebViewを追加
<manifest ... >
<uses-permission android:name="android.permission.INTERNET" />
...
あなたはaddJavascriptInterfaceであなたのWebViewで実行される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();
}
}
のWebViewでjavascript
を有効にして、インタフェースAndroidの名前を付けます。例えば:あなたのHTMLで
WebView webView = (WebView) findViewById(R.id.webview);
webView.addJavascriptInterface(new WebAppInterface(this), "android");
<input type="button" value="Say hello" onClick="showAndroidToast('Hello Android!')" />
<script type="text/javascript">
function showAndroidToast(toast) {
Android.showToast(toast);
}
</script>
希望これはあなたの
EXをshouldOverrideUrlLoading
ソースhttps://developer.android.com/guide/webapps/webview.html#AddingWebView
1
を助けました。
@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. UserControl OnClickイベントは発生しません
- 2. android webviewのonClickイベントが遅すぎる
- 3. React onClickイベントが発生しないsetState
- 4. HTML onClickイベントが発生しない
- 5. ViewFlipperのonTouchイベントは、子ボタンのonClickイベントが発生していないときに発生します
- 6. Primefaces p:menuitemはonclickイベントがtrueを返すとイベントを発生しません
- 7. html onClickイベントはvbaで発生しません
- 8. キーリスナーのイベントが発生していませんか?
- 9. <span> sがChromeで「onclickの」イベントを発生しません
- 10. onclickイベントがhtmlのオプションタグで機能していませんか?
- 11. uploadCompleteイベントが発生しません
- 12. TFS CommitCheckinイベントが発生しません。
- 13. ToolStripMenuItem ShowDropDown - イベントが発生しません。
- 14. onChangeイベントが発生しません
- 15. Node.jsイベント: 'エラー'が発生しません。
- 16. ブザー 'ファイルリミット'イベントが発生しません
- 17. Javascript onClickは発生しませんgetJSON
- 18. WebViewはonClickイベントを取得します
- 19. フォームのアクティブ化イベントが発生していません
- 20. チェックボックスリストのイベントが発生していません
- 21. Image SliderコードのPropertyChangedイベントが発生していません
- 22. シマウマのdatepicker selectイベントが発生していません
- 23. 初期化時にボタンのOnClickイベントが発生しますか?
- 24. Angular2 RxJSでエラーは発生しませんが、イベントは発生しません
- 25. Nativescript WebViewキャプチャonclickイベント
- 26. バックボーン変更イベントが発生していません
- 27. CompositeViewで 'scroll'イベントが発生していません
- 28. UWP TimedMetadataTrackイベントが発生していません
- 29. 接続イベントが発生していません - Mongoose 4.7.1&Express
- 30. onmouseoverイベントがテーブルセルで発生していません
ツールチップとアラートがないAndoridのネイティブでHTMLに示されているように私はインターフェイスを必要としません。 – Tulsi