我有一个WebView,以html格式显示Google Checkout付款按钮。
当我在模拟器上运行它时,它有工作,有付款按钮,我可以按它并转到谷歌结帐网页。
然而,当我在运行Android 2.2的实际设备上运行它时,它只显示带有问号的小蓝框。
这是什么意思? String header =
"<html>" +
"<head>" +
"<script language=\"javascript\">"+
"function pass() {"+
"return checkboxState.checkboxPass();"+
"}"+
"</script>" +
"</head>" +
"<body>";
String formData =
"<center>"+
"<form onSubmit=\"return pass();\" action=\"https://"+host+"api/checkout/v2/checkoutForm/Merchant/"+merchantId+"\" id=\"BB_BuyButtonForm\" method=\"post\" name=\"BB_BuyButtonForm\" target=\"_blank\">"+
"<input name=\"item_name_1\" type=\"hidden\" value=\""+item_name_1+"\"/>"+
"<input name=\"item_description_1\" type=\"hidden\" value=\""+item_name_1+"\"/>"+
"<input name=\"item_quantity_1\" type=\"hidden\" value=\"1\"/>"+
"<input name=\"item_price_1\" type=\"hidden\" value=\""+item_price_1+"\"/>"+
"<input name=\"item_currency_1\" type=\"hidden\" value=\""+item_currency_1+"\"/>"+
"<input name=\"_charset_\" type=\"hidden\" value=\"utf-8\"/>"+
"<input type=\"hidden\" name=\"shopping-cart.items.item-1.merchant-private-item-data\" value=\""+private_item_data+"\">"+
"<input alt=\"Pay With Google Checkout\" src=\"https://"+host+"buttons/buy.gif?merchant_id="+merchantId+"&w=121&h=44&style=trans&variant=text&loc=en_US\" type=\"image\"/>"+
"</form>"+
"</center>";
String footer = "</body></html>";
if(Logging.DEBUG) Log.d(TAG, header+formData+footer);
browser = new WebView(ActivityActivate.this);
browser.setBackgroundColor(0);
browser.getSettings().setJavaScriptEnabled(true);
browser.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
browser.getSettings().setSupportZoom(false);
browser.addJavascriptInterface(new JavascriptInterface(), "checkboxState");
browser.loadData(header+formData+footer, "text/html", "UTF-8");
llPaymentButtons.addView(browser);
答案 0 :(得分:0)
我改变它使用loadDataWithBaseURL并且它工作...仍然不确定为什么。有人可以详细说明吗?
//browser.loadData(header+formData+footer, "text/html", "UTF-8");
browser.loadDataWithBaseURL("https://checkout.google.com", header+formData+footer, "text/html", "UTF-8", null);
答案 1 :(得分:-1)
尝试这一点,显然如果webview没有焦点就会发生
webView.requestFocus(View.FOCUS_DOWN);