Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Android webview切换div_Javascript_Android_Jquery_Webview_Android Webview - Fatal编程技术网

Javascript Android webview切换div

Javascript Android webview切换div,javascript,android,jquery,webview,android-webview,Javascript,Android,Jquery,Webview,Android Webview,我一直在想如何在Android Webview中切换Div,如下所示 这是我的Android代码,但根本不会切换,有人能解释我做错了什么吗?谢谢: wv = (WebView) findViewById(R.id.webView1); WebSettings webSettings = wv.getSettings(); wv.setWebViewClient(new WebViewClient()); wv.getSettings().setLoadWithOverviewMode(tr

我一直在想如何在Android Webview中切换Div,如下所示

这是我的Android代码,但根本不会切换,有人能解释我做错了什么吗?谢谢:

wv = (WebView) findViewById(R.id.webView1);
WebSettings webSettings = wv.getSettings();
wv.setWebViewClient(new WebViewClient());   
wv.getSettings().setLoadWithOverviewMode(true);
wv.getSettings().setUseWideViewPort(true);
wv.getSettings().setDisplayZoomControls(false);
wv.getSettings().setBuiltInZoomControls(false);
wv.getSettings().setSupportZoom (false);
wv.getSettings().setJavaScriptEnabled(true);
webSettings.setBuiltInZoomControls(true);

String script = "$('#liked').on('click', function() {$('#liked').hide();$('#notliked').show();});$('#notliked').on('click', function() {$('#liked').show();$('#notliked').hide();});";

html = "<div id='liked' style='float:left;display:none; height:100px; width:100px; background-color:blue'>1</div><div id='notliked' style="float:left;height:100px; width:100px; background-color:red">2</div>";

String summary = "<html>"+script+"<body>"+html+"</body></html>";
wv.loadUrl("about:blank");
wv.loadData(summary, "text/html", null);

尝试将javascript包装到标记中

此外,还需要将调用$window.load中的javascript包装起来,以便在DOM就绪时注册处理程序

此外,还需要链接到JQuery库的一个版本

您确定需要JQuery来完成此任务吗?您可以使用标准javascript编写它,只需在div上使用onclick处理程序。。。比如:

<div id='liked' style='float:left;display:none; height:100px; width:100px; background-color:blue'  onclick="document.getElementById('notliked').style.display='block'; document.getElementById('liked').style.display='none';">1</div>
<div id='notliked' style="float:left;height:100px; width:100px; background-color:red; disply:block" onclick=" document.getElementById('liked').style.display='block'; document.getElementById('notliked').style.display='none';">2</div>

尝试在插入脚本之前加载HTML数据。可以在HTML加载到web视图后插入Javascript。这是更好的主意。因此,您的代码应该如下所示:

String summary = "<html><body>"+html+"</body></html>";
wv.loadUrl("about:blank");
wv.loadData(summary, "text/html", null);

这将在当前网页上插入javascript,您甚至不需要注意它必须插入到哪里以及如何插入。Webview会处理的。

我明白了,添加了一些。
wv.loadUrl("javascript:"+script);