일부 콘텐츠를 렌더링하려는 WebView가 있습니다. 그러나이 WebView는 표시하는 데이터의 길이가 5100 자에 가깝게 도달하면 단일 문자를 표시하지 않습니다.데이터 크기가 5100자를 초과하면 Android WebView가 표시되지 않습니다.
데이터 길이가 5000 자 미만인 경우 WebView가 완벽하게 작동합니다.
WebView에서 "abcde ....."와 비슷한 간단한 데이터를 전달하려고 시도했습니다. < 5000 문자로 잘 동작합니다. > 5100 자 이상이면 단일 문자가 표시되지 않습니다.
WebView에서 표시 할 수있는 데이터의 양에 제한이 있는지 인터넷을 통해 조사했지만 아무 것도 찾을 수없는 것 같습니다.
내 Java 코드는 다음과 같습니다.
myWebView = (WebView) findViewById(R.id.passage);
String data = "abcde ......."; // large number of characters > 5100.
myWebView.loadDataWithBaseURL(URL, data, "text/html", null,null);
나는 loadDataWithBaseURL
기능을 사용하는 대신뿐만 아니라 myWebView.loadData(data, "text/html", null);
을 시도했다, 그러나 그것은 도움이되지 않았습니다.
여기에 제가 사용하는 XML이 있습니다.
<ScrollView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:fadeScrollbars="false"
android:scrollbarAlwaysDrawVerticalTrack="true"
android:scrollbarFadeDuration="0" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingBottom="5dp"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:paddingTop="10dp" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/passage"
android:textColor="@color/red"
android:textSize="18px" />
<WebView
android:id="@+id/passage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fadeScrollbars="false"
android:layerType="software"
android:scrollbarAlwaysDrawVerticalTrack="true"
android:scrollbarFadeDuration="0" />
</LinearLayout>
</ScrollView>
도와주세요.
편집 : 정확하게 말하면, 5096자를 렌더링하면 제대로 렌더링됩니다. 5097 이상의 문자를 렌더링하려고 시도하면 아무 것도 표시되지 않습니다. 파일에 data
변수를 기록하려고합니다. 모든 데이터가 기록되므로 문자열에 저장되지 않는 적절한 데이터와 관련된 문제는 발생하지 않습니다.
이상적으로 작동해야합니다. 해당 웹 뷰가있는 활동을 열 때 잠시 기다리십시오. 데이터를로드합니다. –
데이터를로드하지 않았습니다. 나는 오랫동안 장치를 보관했다. 성공적으로 표시 할 수있는 정확한 수의 문자가있었습니다. 'N'문자를 사용하면 몇 초도 걸리지 않아도 성공적으로 표시됩니다. 'N + 1'문자는 화면에 문자 하나를 표시하지 않습니다. 아무리 많은 시간을 기다리지도 않습니다. : – Manu
@Manu 장치 이름과 실행중인 OS 버전은 무엇입니까? –