2010-11-09 17 views
7

Ho una visualizzazione Web che visualizza un pulsante di pagamento di Google Checkout in un modulo HTML.WebView visualizza un punto interrogativo in una casella blu

Quando lo eseguo sull'emulatore funziona, c'è il pulsante di pagamento e posso premerlo e andare alla pagina web di Google Checkout.

Tuttavia, quando lo eseguo su un dispositivo reale con Android 2.2 mostra solo la piccola scatola blu con un punto interrogativo.

cosa significa?

  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); 

risposta

0

Beh ho cambiato usare loadDataWithBaseURL e ha funzionato ... ancora incerti perché. Qualcuno può elaborare?

//browser.loadData(header+formData+footer, "text/html", "UTF-8"); 
browser.loadDataWithBaseURL("https://checkout.google.com", header+formData+footer, "text/html", "UTF-8", null); 
-1

provare questo, a quanto pare se WebView non ha messa a fuoco avviene

 webView.requestFocus(View.FOCUS_DOWN); 
Problemi correlati