読んだ後、ようやく自分で手に入れました。javascriptについて何も知らない場合や、ドキュメントの内容が非常に薄い場合は、ちょっと大変です。これが私の解決策です、これが他の人に役立つことを願っています:
そのように最後に2つのボタンを含むHTMLページで:
<div>
<button type="button" id="ok"
style="font-weight: 700; margin-right: 20px;" onclick="validClick();">J'accepte</button>
<button type="button" id="no" onclick="refuseClick();">Je refuse</button>
</div>
clicのイベントをHTMLページの上部にあるjavascriptに送信します。
<script language="javascript">
function validClick() {
valid.performClick();
document.getElementById("ok").value = "J'accepte";
}
function refuseClick(){
refuse.performClick();
document.getElementById("no").value = "Je refuse";
}
</script>
validとrefuseは、メソッドを使用するためにjavascriptインターフェースを介して渡した2つのjavaオブジェクトです。したがって、Javaでは、2つのボタンを作成しました(アクティビティには実際には表示されません。ここではメソッド用にのみ表示され、HTMLボタンの影のようなものです:
valid = new Button(ctx);
valid.setOnClickListener(this);
refuse = new Button(ctx);
refuse.setOnClickListener(this);
次に、JavaScriptをWebViewに追加しました。
//javascriptを有効にします
WebSettings ws = wv.getSettings();
ws.setJavaScriptEnabled(true);
//JavaScriptイベントを記録するためのインターフェースを追加します
wv.addJavascriptInterface(valid, "valid");
wv.addJavascriptInterface(refuse, "refuse");
そして最後に、onClickメソッドでクリックイベントを処理します。
@Override
public void onClick(View v) {
if (v.equals(valid)) {
//do Something
} else if (v.equals(refuse)) {
//do Something else }
}
これがお役に立てば幸いです。
ありがとう