2010-01-01 4 views
6

은 내가 웹보기를 사용하여 RSS 피드에서 파싱 HTML 데이터를로드하기 위해 노력하고있어,하지만 웹보기는 주장 페이지가 :WebView가 데이터를로드하지 않습니까?

"데이터 : text/html과; 난 UTF-8, [HTML 표시하려고 함] "

을 사용할 수 없습니다.

alt text

나는 이상한 그것이 내가 단지 그것을 표시 할 때 URL로 html로 데이터를 넣는 것으로 보인다 것을 찾을 수 있습니다.

여기 내 코드는 웹보기 위해 바로 지금이다 : DEFAULTTEXT를 다음 HTML이 식별자가 번들에서 문자열로 전달 된

Bundle data = getIntent().getExtras(); 

WebView webview = new WebView(this); 
setContentView(webview); 

webview.loadData(data.getString("DEFAULTTEXT"), "text/html", "utf-8"); 

. 클래스를 테스트했는데 HTML이 으로 전달되면 올바르게 표시되지 않습니다.

내가 시도한 일부 웹 페이지에서는 정상적으로 작동하지만 다른 웹 페이지에서는 정상적으로 작동합니다. 나는 작동하는 코드와 그렇지 않은 코드를 게시하려고 노력할 것입니다.

+0

이 문제가 있습니다. 당신은 해결책을 찾아 냈습니까? 자바 문자열을 읽고 있는데 표시되지 않습니다. 하지만 복사하여 파일 : ///assets/my.html url을 사용하여 엽니 다 .html 파일에 붙여 넣을 때 잘 열립니다. 그래서 html을 렌더링 할 수 있지만 생성 된 문자열에있을 때는 html을 좋아하지 않습니다. – GrkEngineer

+0

같은 문제가 있습니다. 일부 페이지는 작동하지만 일부는 작동하지 않습니다 ... – pambuk

+0

실제로 loadDataWithBaseURL이 문제를 해결했습니다. – pambuk

답변

3

Huuu .... 그래서 오늘 아침에 컴퓨터를 켜서 완벽하게 작동했습니다. 나는 아직도 문제가 뭔지 모르겠다. :/

편집 : 신경 쓰지 마세요. 일부 페이지에서는 작동하지만 일부 페이지에서는 작동하지 않습니다.

Edit2 : loadDataWithBaseURL을 스와핑하여 매력처럼 작동했습니다.

+0

에뮬레이터에서 결함이 있는지 확인하십시오. 다행 이네요. –

+0

기다려라, 내가 보여 주려고하는 웹 페이지의 절반에서 작동한다. Arg .. – GuyNoir

+0

광산은 전반적으로 작동하고 언젠가는 모든 일을 중단했습니다. loadDataWithBaseURL은 현재 작동하며 신비하게 깨지기를 희망합니다. – Martyn

0

manifest.xml에 올바른 권한이 정의되어 있습니까?

+0

나는 인터넷 허가, 오디오 상태 및 전화 상태가 내가 필요로하는 또 다른 하나가 무엇입니까? – GuyNoir

1

로드 데이터의이 산발적 인 동작은로드하려는 페이지의 내용 때문이라고 생각합니다. 그것이 단순한 간단한 html 인 경우에 아무 문제도 없다. 하지만 외부 정보가 필요한 CSS 또는 기타 기능과 같은 구성 요소가 있으면 문제가 해결됩니다. 내 경험!

1

앞에서 설명한 것처럼 HTML에 '%', '\', '#'과 같은 문자가 있으면이를 자동으로 처리하지 않는 것으로 이스케이프 처리해야합니다.

loadDataWithBaseURL 대신 loadData가 이스케이프 처리되며이 문제를 해결하는 것으로 보입니다. baseUrl과 historyUrl에 null을 사용하십시오. 따라서 질문의 예제 코드는 다음과 같이 변경됩니다.

Bundle data = getIntent().getExtras(); 

WebView webview = new WebView(this); 
setContentView(webview); 

webview.loadDataWithBaseURL(null,data.getString("DEFAULTTEXT"), "text/html", "utf-8",null); 
관련 문제