经过一番阅读,我终于明白了。当你对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>
我点击的情况下,在顶部发送给javascript我的HTML页面:
<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
:
// Enablejavascript
WebSettings ws = wv.getSettings();
ws.setJavaScriptEnabled(true);
// Add the interface to record javascript events
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 }
}
希望这将帮助一些人
@neha如何解决这个问题给我任何简单的例子.. – NagarjunaReddy 2013-04-18 12:40:02
@Sephy能否请您解释一下什么是有效的,并拒绝他们是按钮或JavaWebInterface对象? onclick方法是因为你已经实现了onclick监听器或类似的东西?我很抱歉,但我无法运行上述代码。请帮忙。谢谢 – newBie 2013-09-09 05:33:27
@Sephy这不适用于Android 2.3。我在那里我有什么办法来实现这一点? – 2013-10-10 07:01:55