如何在这种情况下,通过数据从JavaScript到Android的WebView? [英] How to pass Data From Javascript To Android WebView in this case?
本文介绍了如何在这种情况下,通过数据从JavaScript到Android的WebView?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
Main();
}
public void Main()
{
_linearLayout = new LinearLayout(this);
_webview = new WebView(this);
_linearLayout.addView(_webview, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
setContentView(_linearLayout);
_webview.getSettings().setJavaScriptEnabled(true);
_webview.getSettings().setPluginsEnabled(true);
_webview.getSettings().setAllowFileAccess(true);
_webview.setWebChromeClient(new WebChromeClient());
_webview.addJavascriptInterface(this, "Question");
_webview.loadData(GetHTML(), "text/html", "utf-8");
}
public String GetHTML()
{
String HTML = ""
+ "<HTML>"
+ "<HEAD>"
+ "<TITLE>Radio Button onClick Handler</TITLE>"
+ "<SCRIPT LANGUAGE=\"JavaScript\">"
+"function function1(colors) {"
+"var col = (colors.options[colors.selectedIndex].value);"
+" if (col) {"
+" document.bgColor = col;"
+" } "
+"</script>"
+ "</HEAD>"
+ "<BODY>"
+"<form>"
+"<b> Hello </b>"
//+"<select name=\"colors\" onChange=\"window.Question.function1(this);\">"
+"<select name=\"colors\" onChange=\"window.Question.OnJsClick_SelectedItem(' string value');\">"
+"<option value=\"white\" selected>White</option>"
+ "<option value=\"cyan\">Cyan</option>"
+ "<option value=\"ivory\">Ivory</option>"
+ "<option id=\"myO\" value=\"blue\">Blue</option>"
+"</select>"
+"</form>"
+ "</BODY>"
+ "</HTML>";
return HTML;
}
public void OnJsClick_SelectedItem(final String str)
{
mHandler.post(new Runnable()
{
//@Override
public void run()
{
getValue(str);
}
});
}
public String getValue(String str)
{
_webview.loadUrl("javascript:function1(colors)");
Toast.makeText(this, "Under getValue " + str, Toast.LENGTH_SHORT).show();
return str;
}
}
请帮我了。
推荐答案
您应该使用这样的:
<select name="colors"
onChange="Question.OnJsClick_SelectedItem(this.options[this.selectedIndex].text)">
这篇关于如何在这种情况下,通过数据从JavaScript到Android的WebView?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文