Веб-просмотр не загружает содержимое HTML - PullRequest
0 голосов
/ 08 августа 2011

Я загружаю контрольную строку внутри веб-просмотра

String Check = "<html><body><form action=\"https://sandbox.google.com/checkout/api/checkout/v2/checkoutForm/Merchant/**ID**\" id=\"BB_BuyButtonForm\" method=\"" +
            "post\" name=\"" +"BB_BuyButtonForm\" target=\"_top\">"
            +"<input name=\"item_name_1\" type=\"hidden\" value=\"Carbon Emission\"/>"
            +"<input name=\"item_description_1\" type=\"hidden\" value=\"Pay for carbon emission. \"/>"
            +"<input name=\"item_quantity_1\" type=\"hidden\" value=\"1\"/>"
            +"<input name=\"item_price_1\" type=\"hidden\" value=\"ffff\"/>"
            +"<input name=\"item_currency_1\" type=\"hidden\" value=\"USD\"/>"
            +"<input name=\"_charset_\" type=\"hidden\" value=\"utf-8\"/>"
            +"<input alt=\"\" src=\"https://sandbox.google.com/checkout/buttons/buy.gif?merchant_id=**ID**&amp&w=117&amp&h=48&amp&style=trans&amp&variant=text&amp&loc=en_US\" type=\"Button\"/>"
            +"</form></body></html>";

Затем я загружаю контрольную строку в веб-просмотр

        webview.loadData(Check, "text/html", "UTF_8");

Показывает белый экран

Ответы [ 3 ]

2 голосов
/ 21 октября 2011

Большое спасибо Nappy и Sandy.

Наконец-то я решил свою проблему. Это было из-за безопасного URL https. Это не будет работать в веб-просмотре напрямую, поэтому мы должны избежать ошибки ssl

webview.setWebViewClient(new WebViewClient(){

        @Override
        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);
            pd.dismiss();
        }

        @Override
        public void onReceivedSSLError(WebView view, int errorCode,
                String description, String failingUrl) {
            super.onReceivedError(view, errorCode, description, failingUrl);                 
      view.proceed();
        }

    });
1 голос
/ 19 октября 2011

Возможно, вы захотите изменить

setInitialScale (1);

на

setInitialScale (100);

, поскольку параметр ожидает процентное значение.

1 голос
/ 08 августа 2011

Создайте класс как следующий

import android.webkit.WebView;

import android.webkit.WebViewClient;

public class HelloWebViewClient extends WebViewClient {

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}

}
затем добавьте это утверждение webView.setWebViewClient(new HelloWebViewClient()); после webview.loadUrl(authUrl);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...