2010-11-09 4 views
7

У меня есть WebView, который отображает кнопку оплаты Google Checkout в форме html.WebView отображает знак вопроса в синем поле

Когда я запускаю его на эмуляторе, он работает, есть кнопка оплаты, и я могу нажать ее и перейти на веб-страницу проверки Google.

Однако, когда я запускаю его на самом устройстве под управлением 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+"&amp;w=121&amp;h=44&amp;style=trans&amp;variant=text&amp;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

Ну, я изменил его, чтобы использовать 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

попробовать это, по-видимому, если WebView не имеет фокус это происходит

 webView.requestFocus(View.FOCUS_DOWN); 
Смежные вопросы