HTML复选框的Android的WebView [英] Html Checkbox in android webview
问题描述
我想知道: -
在我的项目,我使用的HTML内容和android的web视图显示它们。和我使用的Eclipse IDE。这是微小的code。
<表格名称= \\FRM \\>中+
<输入类型= \\复选框\\NAME = \\第一\\价值= \\某某\\>&XYZ LT; BR>中+
<输入类型= \\复选框\\NAME = \\第一\\价值= \\ABC \\> ABC< BR>中+
< /形式为GT;
我的问题是我如何能得到复选框的状态。其选中或取消选中。
或如何能赶上状态我的Java code。
UPD: -
公共字符串的html =<表格名称= \\FRM \\>中+
<输入类型= \\复选框\\NAME = \\第一\\价值= \\某某\\>为< BR>中+
<输入类型= \\复选框\\NAME = \\第二个\\价值= \\ZYX \\>为< BR>中+
<输入类型= \\按钮\\的onclick = \\callDoSomething()\\>< BR>中+
< /形式为GT; +
<脚本类型= \\文/ JavaScript的\\>中+
功能callDoSomething(){+
VAR theName = document.frm.First.value;+
警报('theName')+
}+
&所述; /脚本>中;
首先,无论你的复选框被命名为第一次,你应该命名第二个二。如果你想通过值来搜索复选框 - 只需添加一个简单的JS的for循环
假设你想从你的Android code的结果(而不是JS事件就像点击一个按钮),这里是你如何获取Java布尔值你的名字复选框:
//假设你的活动MyActivity,目标复选框名称
//在targetCheckboxName var和web视图具有文档
//已装
对象JSI =新的对象(){
@JavascriptInterface
公共字符串reportCheckboxState(字符串名称,布尔器isChecked){
新AlertDialog.Builder(MyActivity.this).setMessage(名称+就是+
。器isChecked).create()显示();
}
};
webView.addJavascriptInterface(JSI,注入);
webView.loadUrl(
的javascript:injection.reportCheckboxState(FRM。+ targetCheckboxName +
.name和FRM。 + targetCheckboxName +.checked);
);
但实际上,这是一个非常简单的一招。通过意见的问题来看,你应该对JavaScript和<读了href=\"http://developer.android.com/reference/android/webkit/WebView.html#addJavascriptInterface%28java.lang.Object,%20java.lang.String%29\"相对=nofollow> WebView.addJavaScriptInterface()
I want to know:-
In my project i am using html content and displaying them in android webview. and i am using eclipse ide. this is tiny code.
"<form name =\"frm\">"+
"<input type=\"checkbox\" name =\"First\" value =\"xyz\">xyz<br>"+
"<input type=\"checkbox\" name =\"First\" value =\"abc\">abc<br>"+
"</form>"
my question is how can i get check box state .its checked or unchecked.
or how can i catch the state in my java code.
UPD:-
public String html = "<form name =\"frm\">"+
"<input type=\"checkbox\" name =\"First\" value =\"xyz\">as<br>"+
"<input type=\"checkbox\" name =\"Second\" value =\"zyx\">as<br>"+
"<input type =\"button\" onclick =\"callDoSomething()\"><br>"+
"</form>" +
"<script type=\"text/javascript\">"+
"function callDoSomething() {"+
" var theName = document.frm.First.value;"+
"alert('theName ')"+
"}"+
"</script>";
First, both of your checkboxes are named "First", you should probably name second one "Second". If you want to search checkboxes by value - just add a simple js for loop.
Assuming you want to get the results from your Android code (as opposed to JS event like clicking a button), here's how you get Java boolean value for you checkbox by name:
// assuming your activity is MyActivity, target checkbox name
// is in the targetCheckboxName var and webView has the document
// loaded already
Object jsi = new Object() {
@JavascriptInterface
public String reportCheckboxState(String name, boolean isChecked) {
new AlertDialog.Builder(MyActivity.this).setMessage(name + " is " +
isChecked).create().show();
}
};
webView.addJavascriptInterface(jsi, "injection");
webView.loadUrl(
"javascript:injection.reportCheckboxState(frm." + targetCheckboxName +
".name, frm." + targetCheckboxName + ".checked);"
);
But really, it's a very simple trick. Judging by comments to the question, you should probably read up on JavaScript and WebView.addJavaScriptInterface()
这篇关于HTML复选框的Android的WebView的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!