2011-10-18 17 views
2

私は、Googleの+1ボタンをWebViewに記述する方法を使ってWebViewに入れようとしました。次のように私はWebViewのを初期化してきました:WebViewのAndroid +1ボタン

final WebView web = (WebView)findViewById(R.id.webView); 
web.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); 
web.getSettings().setJavaScriptEnabled(true); 
web.getSettings().setSavePassword(false); 
web.getSettings().setBuiltInZoomControls(false); 
web.getSettings().setUseWideViewPort(true); 
web.getSettings().setLoadWithOverviewMode(true); 
web.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY); 
web.setHorizontalScrollBarEnabled(false); 
web.setBackgroundColor(0xff2e2e2e); 
web.loadDataWithBaseURL(null, htmlCodeGoesHere, "text/html", "utf-8", null); 

HTMLコード:

<script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script> 
<g:plusone href="http://stackoverflow.com"></g:plusone> 

問題がある...ボタンがまったく表示されません。

どうすれば修正できますか?ところで、WebViewを使用する代わりに、新しいウィンドウを起動するボタンも必要です。簡単な解決法はありますか?

おかげ

答えて

3

問題はWebViewの権限システムにあります。ローカルファイルのスクリプトは、外部リソースへのアクセスに問題があります。解決策は、WebViewがローカルコードが外部Webサイトからロードされたと考えるようにすることです。

web.loadDataWithBaseURL("http://fake.com", htmlCodeGoesHere, "text/html", "utf-8", null); 

ボタンが表示されますが、unfortunetelyそれはWebViewのではうまく動作しません。

0

私はあまりにものWebViewで経験していないのですが、それはあなたのレイアウト/ main.xmlファイル内の問題である可能性がありようにボタンがまったく表示されないという事実が、聞こえます。あなたはまだこれを見ましたか?

また、ボタンを新しいウィンドウで起動するには、ボタンとして扱うだけでsetOnClickListenerをアタッチして新しいウィンドウを開くことができると思います。私はそれが可能であることを望む。

+0

あなたの答えはまったく役に立たない。レイアウトには何も問題はなく、簡単に確認できます。 WebViewは、Webkitを使用してHTML Webサイトをレンダリングするために使用されるため、表示されているかどうかを簡単に確認できます。ボタンは、WebView内のボタンです。これにリスナーを付ける方法はありません。 –