Javascript 在WebView Android中获取事件单击组件

Javascript 在WebView Android中获取事件单击组件,javascript,android,webview,Javascript,Android,Webview,我有一个包含输入html的webview,如下所示: <input type="file" name="upload" onChange="checkimg(this.value)"/> 现在我想在单击输入类型文件时获取事件。我该怎么办呢?读了一些书后,我终于自己弄到了。当你对javascript一无所知,而且文档对这个主题的了解非常少时,这就有点难了。以下是我的解决方案,希望这能帮助其他人: HTML页面的末尾包含两个按钮,如下所示: <div> <button

我有一个包含输入html的webview,如下所示:

<input type="file" name="upload" onChange="checkimg(this.value)"/>

现在我想在单击输入类型文件时获取事件。我该怎么办呢?

读了一些书后,我终于自己弄到了。当你对javascript一无所知,而且文档对这个主题的了解非常少时,这就有点难了。以下是我的解决方案,希望这能帮助其他人:

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>
然后我将javascript添加到我的WebView中:

//启用JavaScript

WebSettings ws = wv.getSettings();
ws.setJavaScriptEnabled(true);
//添加用于记录javascript事件的接口

wv.addJavascriptInterface(valid, "valid");
wv.addJavascriptInterface(refuse, "refuse");
最后,在onClick方法中处理click事件:

@Override
public void onClick(View v) {
    if (v.equals(valid)) {
        //do Something
    } else if (v.equals(refuse)) {
        //do Something else }
}
希望这对你有帮助


谢谢

我已经读了上面的答案,但我无法解决我的问题。你能把我的情况写清楚吗。。
WebSettings ws = wv.getSettings();
ws.setJavaScriptEnabled(true);
wv.addJavascriptInterface(valid, "valid");
wv.addJavascriptInterface(refuse, "refuse");
@Override
public void onClick(View v) {
    if (v.equals(valid)) {
        //do Something
    } else if (v.equals(refuse)) {
        //do Something else }
}