2012-03-19 24 views
5

Tôi đã cố gắng giữ các giá trị trang và javascript đã tải của một WebView về thay đổi hướng và tạm dừng hoạt động. Đầu tiên tôi đã cố gắng ghi đè các cấu hình, nhưng điều đó dẫn đến GUI của tôi không được cập nhật đúng cách (tôi có một trình rút tiền thay đổi vị trí khi thay đổi hướng). Sau đó tôi đã cố gắng đưa WebView vào một đoạn và gọi setRetainInstance (true); Nhưng điều này không giữ nguyên nội dung của WebView. Tôi đã cố gắng giữ cho cùng một đối tượng sống bằng cách không tái tạo nó, nhưng android không cho phép xem lại được sử dụng lại trong thời trang đó.Nội dung Android Webview không bị mất khi thay đổi hướng, nhưng GUI phải được cập nhật đúng cách

câu hỏi của tôi là: có cách nào để giữ nội dung của chế độ xem web mà không phải tải lại nó trên mọi thay đổi định hướng, trong khi các thành phần GUI khác cập nhật đúng cách.

Tôi hy vọng câu hỏi của tôi là đủ rõ ràng, nhưng tôi rất vui khi được xây dựng nếu có bất kỳ sự không rõ ràng nào.

EDIT: tôi đã thử thêm android: configChanges = "keyboardHidden | định hướng" trong manifest của tôi, đó là những gì tôi có nghĩa là bởi "configchanges trọng"

Nó có vẻ như là giải pháp duy nhất là để cập nhật tất cả các biến javascript lại về sự thay đổi định hướng. Vì tôi chưa chạy các khối cập nhật lớn thông qua javascript, tôi không thể cung cấp nhiều thông tin chi tiết về tốc độ và tài nguyên của hoạt động này.

Trả lời

0

Thêm này trong tập tin androidmanifest bạn ..... hoạt động

android:name=".YourActivityHere" 
android:configChanges="keyboardHidden|orientation" 
+0

Tôi đã cố gắng đó, đó là những gì tôi có nghĩa là bằng cách ghi đè configChanges. Khi tôi thực hiện GUI này của tôi sẽ không được tái tạo, và slidindrawer của tôi chẳng hạn sẽ không cập nhật đúng cách – Wottah

0

Hãy thử điều này đặt điều này trong manifest

android:configChanges="orientation|keyboardHidden"></activity> 

này trong lớp học của bạn

@Override 
public void onConfigurationChanged(Configuration newConfig) { 
super.onConfigurationChanged(newConfig); 
} 
+0

Tôi đã thử điều đó, đó là những gì tôi có nghĩa là bằng cách ghi đè cấu hình. Khi tôi thực hiện GUI này của tôi sẽ không được tái tạo, và slidindrawer của tôi chẳng hạn sẽ không cập nhật đúng cách – Wottah

0

Thêm bên dưới dòng trong tệp kê khai trên Android.

android:configChanges="keyboardHidden|orientation"

+0

Tôi đã thử điều đó, đó là những gì tôi có nghĩa là bằng cách ghi đè cấu hình. Khi tôi thực hiện GUI này của tôi sẽ không được tái tạo, và ví dụ slidindrawer của tôi sẽ không cập nhật đúng. – Wottah

4

Tôi biết bạn đã cố gắng

android:configChanges="keyboardHidden|orientation" 

nhưng cố gắng này để thay thế

android:configChanges="keyboardHidden|orientation|screenSize" 

Trong Android 3.2 và lên "màn hình kích thước" thay đổi khi bạn xoay gây webview để tự tái tạo. xem câu trả lời được liên kết bên dưới để biết thêm thông tin.

Tôi tìm thấy câu trả lời này đây https://stackoverflow.com/a/11903546/655822

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