2013-06-26 47 views
16

Tôi đang tải dữ liệu từ một Chuỗi và lần đầu tiên khi tôi cuộn xuống chế độ xem web, nhấp nháy vài lần.Strange webview black nhấp nháy khi cuộn

Đây là mã của tôi, nơi tôi load dữ liệu:

webview.loadDataWithBaseURL(null, message.getmContent(), "text/html", "UTF-8", null); 

Và xml:

<WebView 
     android:id="@+id/web_content" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_above="@+id/footer" 
     android:layout_below="@id/message_title" 
     android:layout_margin="4dp" 
     /> 
+0

bạn đã đặt chế độ xem web của mình trong chế độ xem cuộn? Nếu có, hãy thử gỡ bỏ chế độ xem cuộn. –

+0

thử android: focus = false –

+0

rồi đặt android: scrollingCache = "false" –

Trả lời

30

Các giải pháp được nói thêm:

webview.setLayerType(View.LAYER_TYPE_SOFTWARE, null); 
webview.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE); 
webview.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH); 
+0

webview.getSettings(). SetRenderPriority (WebSettings.RenderPriority.HIGH); không được chấp nhận ở cấp API 18. http://stackoverflow.com/a/23896233/684582 –

+2

Phần mềm LayerType gây ra một webview trống cho tôi. Giải pháp tốt nhất tôi có thể tìm thấy là sử dụng setBackgroundColor() với một đối tượng Color (quan trọng, không phải là int). Phương pháp – Mdlc

+0

* setRenderPriority() * không được chấp nhận ở cấp API 18. Không nên điều chỉnh mức độ ưu tiên của luồng và điều này sẽ không được hỗ trợ trong các phiên bản sau. – anivaler

1

Sau khi giải quyết với giải pháp trên , WebView của tôi được tự động lấy nét khi cuộn xuống. tôi giải quyết được nhấp nháy và tự động cuộn theo:

webView.setFocusable(false); 
webView.setFocusableInTouchMode(false); 
0

Để tải dữ liệu từ bộ nhớ cache

webview.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); 
webview.setLayerType(View.LAYER_TYPE_SOFTWARE, null); 
webview.loadUrl(Your URL To Load); 
+0

Bạn đã đọc câu hỏi chưa? – user1940676

+0

Trong khi sử dụng LOAD_NO_CACHE tôi đang nhận được chút chậm trễ để tải và khi chúng tôi sử dụng đây là listView rằng mọi lần tạo lại chế độ xem không hoạt động tốt để tránh nhấp nháy, vì vậy tôi đã sử dụng LOAD_CACHE_ELSE_NETWORK điều này để giải quyết vấn đề .. tôi cũng gặp sự cố tương tự webview được sử dụng trong listview –

+0

Bạn đã thử sử dụng thêm android: cacheColorHint = "@ null" vào listview? – user1940676

1

Nó cũng có thể thiết lập software kiểu layer trong file xml và nó hoạt động tốt đối với tôi.

android:layerType="software" 
+0

Đó là giải pháp duy nhất làm việc cho tôi mà không có nhược điểm. –

Các vấn đề liên quan