我试图让一个html表在android中正常工作,并为某些行和单元格提供onclick事件。
它应该从2轮获得用户输入,然后将它们加起来然后在每轮之后继续累加直到第7轮。这是我的代码到目前为止,一切都在PC上正常运行但是当我通过我的平板电脑版本4.2.2进行时,我得不到输入的结果。
示例代码:
Javascript / HTML代码:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<script language="JavaScript" type="text/javascript">
/*<![CDATA[*/
function calcP1()
{
var p1ro1 = document.getElementById("p1r1").value;
var p1ro2 = document.getElementById("p1r2").value;
var pl1 = document.getElementById("p1").value;
var sum1 = (parseInt(p1ro1) + parseInt(p1ro2));
document.getElementById("sp1r2").value = sum1;
}
/*]]>*/
</script>
</head>
<body>
<table>
<tr>
<td>Player Names:</td>
<td><input type="text" id="p1"/></td>
</tr>
<tr>
<td>Round 1: 2 Books</td>
<td><input type="text" id="p1r1"/></td>
</tr>
<tr>
<td>Round 2: 1 Book 1 Run</td>
<td><input type="text" id="p1r2"onclick="calcP1();"/></td>
</tr>
<tr>
<td>Total Round 1 & 2 </td>
<td bgcolor="#00FF00"><input type="text" id="sp1r2" readonly /></td>
</tr>
</table>
</body>
</html>
TableActivity:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.table);
wv = (WebView)findViewById(R.id.tables);
wv.loadUrl("file:///android_asset/ScoreCard.html");
}
我必须在我的TableActivity中使用addJavascriptInterface吗?谢谢。
答案 0 :(得分:0)
尝试在获取对webview的引用之后但在加载URL之前将这些行添加到您的活动中
wv.setWebChromeClient(new WebChromeClient());
wv.getSettings().setJavaScriptEnabled(true);
添加javascript接口将允许您从javascript调用应用程序中的java方法,反之亦然