2012-06-22 3 views
0

Я долгое время борюсь с этой проблемой, вырыл вокруг Google и SO, но все равно не повезло. Наконец, я здесь, чтобы получить вашу помощь, пожалуйста, посоветуйте или помогите.loadDataWithBaseURL не загружает изображения, которые являются частью html-страницы

Моя проблема со следующим исходным кодом заключается в том, что он отображает только содержимое строки, которое изображения не отображаются, вместо этого отображается белый прямоугольник или иногда синее изображение с вопросительным знаком.

В: Как отобразить изображения?

Вот мой код: выход

private void openURL() { 

    DefaultHttpClient client = new HttpsRequest(getApplicationContext()); 
    HttpGet get = new HttpGet(getUrlField().getText().toString()); 
    // Execute the GET call and obtain the response 
    HttpResponse getResponse; 
    try { 
     getResponse = client.execute(get); 
     HttpEntity responseEntity = getResponse.getEntity(); 

     String content = EntityUtils.toString(responseEntity); 
     getWebView().loadDataWithBaseURL(null, content, "text/html", "utf-8", 
       null); 

    } catch (ClientProtocolException e) { 
     WSLog.e(THIS_FILE, "HTTP Error."); 
     e.printStackTrace(); 
    } catch (IOException e) { 
     WSLog.e(THIS_FILE, "Url Load Error."); 
     e.printStackTrace(); 
    } 
} 

Webview:

enter image description here

+0

Вместо первого 'null' в' loadDataWithBaseURL' вы должны поместить туда значение getUrlField(). GetText () .toString() ' – vasart

+0

Спасибо за ваш ответ, но он его не решает. Я все еще вижу тот же результат. спасибо за консультацию. – mask

+0

Вы знаете URL-адрес, где хранятся изображения для этой страницы? Вы должны поместить этот url в качестве первого параметра в 'loadDataWithBaseURL' – vasart

ответ

1

С помощью Vasarat и несколько модификаций с моей стороны помог мне ответить на этот вопрос. Я изменил следующую строку кода как

getWebView().loadDataWithBaseURL("http://mywebSite.com/parent_dir_to_iamges/", content, "text/html", "UTF-8","about:blank"); 

Эта модификация дала мне идеальный выход, как ожидалось.

Пожалуйста, подпишите комментарии, чтобы узнать подробности о проблеме.

Примечание: Я использовал http в базовом url вместо https ..... Пожалуйста, дайте мне знать, могу ли я использовать https. webview.Loadurl() с https url отлично работает, если уровень API равен 10 или выше, но он показывает пустую страницу для уровня API 8.

Смежные вопросы