Tôi có một tabhost với 3 tab. Trong mỗi tab này, có một webiview. Khi tôi nhấp vào tab, chế độ xem web cần phải "tải lại" ngay cả khi tôi đã ở đó trước đó, nó chưa được lưu. Có cách nào để lưu chế độ xem web không?Android webView saveState
Trả lời
này có thể được xử lý bởi overrwriting onSaveInstanceState (Bundle outState) trong hoạt động của bạn và gọi saveState từ webview:
@Override
protected void onSaveInstanceState(Bundle outState) {
webView.saveState(outState);
}
Sau đó phục hồi này trong onCreate của bạn sau khi webview đã được tái thổi phồng tất nhiên:
@Override
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.blah);
WebView webview = (WebView)findViewById(R.id.webview);
if (savedInstanceState != null)
webview.restoreState(savedInstanceState);
else
webview.loadUrl(URLData)
}
bạn có thể tham khảo này LINK
Hoặc bạn có thể nhìn vào sử dụng mảnh vỡ với tabHost của bạn. khi nhập một webView khác, bạn có thể đặt phân đoạn để ẩn và phần còn lại để hiển thị. khi bạn quay trở lại đoạn trước đó, nội dung sẽ không bị hủy. Đó là cách tôi đã làm nó và nó đã làm việc cho tôi.
Xin lỗi, tôi biết câu trả lời của bạn đã lâu rồi nhưng tôi nghĩ bạn có thể giúp tôi lưu trạng thái của webView của mình. Đây là câu hỏi của tôi: http://stackoverflow.com/questions/26142255/retrieve-an-activity-after-time-out-warning-notification – Hamid
Điều này không được đảm bảo. Các mảnh vỡ có thể bị phá hủy nếu chúng bị dừng lại. – William
restoreState chưa bao giờ đáng tin cậy. Và đến năm 2015 các tài liệu chấp nhận thực tế. (Thay đổi có thể được thực hiện cho các tài liệu vào khoảng năm 2014). Đây là những gì nó nói bây giờ.
Nếu nó được gọi sau khi WebView này đã có một cơ hội để xây dựng nhà nước (trang tải, tạo một back/danh sách phía trước, vv) có thể có không mong muốn tác dụng phụ. Xin lưu ý rằng phương pháp này không còn khôi phục dữ liệu hiển thị cho WebView này nữa.
Và các mục tương ứng cho saveState() nói như sau:
Xin lưu ý rằng phương pháp này không còn lưu trữ các dữ liệu hiển thị cho WebView này.
gì bạn thực sự nên làm trong phương pháp onCreate là để gọi webView.loadUrl() nếu bạn muốn hiển thị url ghé thăm, xin vui lòng xem này answer:
Nếu bạn lo lắng về các webview tải lại về biến đổi định hướng, vv
bạn có thể thiết lập hoạt động của bạn để xử lý các định hướng và thay đổi keyboardHidden, và sau đó chỉ cần rời khỏi WebView mình
- 1. WebView saveState() có giữ lại các biến Javascript/môi trường không?
- 2. Android WebView Internationalization
- 3. Caching trong webview Android
- 4. Android WebView removeCookie
- 5. Hiệu suất Android WebView
- 6. Android WebView Javascript getSelection
- 7. Android WebView cuộn mượt mà
- 8. Android- Webview trênPageFinished Called Twice
- 9. Trợ năng và Android WebView
- 10. Android Webview Vòng chuyển hướng
- 11. WebView và Cookie trên Android
- 12. WebView với một IFRAME android
- 13. Android singleTap/OnClick trong WebView
- 14. Android WebView không tải URL
- 15. webview với toàn màn hình trong android
- 16. Android WebView tập trung vấn đề
- 17. Tải tài nguyên Android vào một WebView
- 18. API Javascript JWPlayer cho Android Webview
- 19. Android webview bên trong một dịch vụ?
- 20. Android WebView thay thế cho webapps
- 21. Tải lên tệp WebView Android 4.0
- 22. nội dung webview android không thể chọn
- 23. YouTube Video không phát trong WebView - Android
- 24. Duyệt web riêng tư trên Android Webview
- 25. Android webview không phát video, jwembedder
- 26. Android: Gọi lại với thành phần WebView?
- 27. Hủy tải trong WebView trên Android
- 28. Android SDK WebView gọi Hoạt động
- 29. Android WebView để trống cho thanh cuộn
- 30. Âm thanh Html trong Android Webview
Liên kết bị hỏng. –