我想创建一个单选对话框表单(类似于在Dialog构建器上使用setSingleChoiceItems时得到的),它是从webview中调用javascript并将其结果返回给javascript。
1)我的理解是onJsAlert允许实现对话调用,但它只返回javascript的true或false。是否有任何解决方法允许此方法返回整数?
2)select标签会在小屏幕上创建这样的对话框,是否可以从javascript手动调用?我不能主要使用select标签,因为我的页面上有很多项会调用此对话框,将每个条目的选择标记中的整个列表都会产生巨大的开销。
我很抱歉没有提供任何代码,但我坚持这里的概念 - 如果我能得到一些关于如何做到这一点的提示,我会发布一个有效的解决方案。
答案 0 :(得分:1)
难道你不能让你的select标签中包含你想要的选项的单个js字符串。然后,当加载页面时,在应该具有选项的所有选择标记上设置innerHtml。这样你就不需要与Android应用程序进行任何特殊的集成。使用jQuery的东西:
var options = '<option value="foo">Foo</option><option value="bar">Bar</option>'
$(document).ready(function() {
$(select).html(options);
});
没有测试过,但上面的内容应该可以使用。
否则,您可以使用addJavascriptInterface(Object, String)方法在您的webapp和Android应用程序之间进行更紧密的集成。
答案 1 :(得分:1)
例如:如果要点击某个链接
,则需要触发警告框in html:
<a href='mycall:00'>click here<a>
在java中
public boolean shouldOverrideUrlLoading(WebView view, String url){
// if url is eqal to "mycall:00" launch the dialog box
}
将数据传递给javascript
webview.loadUrl("javascript:changeSize(\"" + fontSize + "\")");
这是在webview中加载的JavaScript函数
function changeSize(fontSize){
$('#article').css('font-size', fontSize);
$('#articleDes').css('font-size', fontSize);
return false;
}