Tôi đang phát triển ứng dụng, nơi tôi cần hiển thị đề xuất trong ListView và khi định hướng thay đổi, tôi muốn danh sách đó bị ẩn. Nhưng nó vẫn xuất hiện trên màn hình. Tôi đã thử điều này: 1) Nhận danh sách bộ chuyển đổi và xóa nó. 2) Đặt hiển thị GONE trước khi định hướng thay đổi (nhưng nó sẽ hiển thị trở lại sau khi onCreate) 3) Đặt hiển thị GONE in onCreate, nhưng danh sách vẫn xuất hiện trên màn hình (tôi nghĩ rằng có thể android lưu danh sách cũ, vì tôi khởi tạo danh sách xem một lần nữa và nó trông giống như sản phẩm nào, nhưng danh sách trên màn hình là không). Vì vậy, làm thế nào tôi có thể thoát khỏi danh sách?Làm thế nào để KHÔNG lưu trạng thái xem trong Android?
Trả lời
Thay vì sử dụng một cái gì đó toàn cầu như android: configChanges mà ảnh hưởng đến tất cả các quan điểm trong hoạt động, những gì về cách sử dụng phương thức setSaveEnabled (boolean) hoặc thuộc tính xml tương đương android: saveEnabled?
Kiểm soát xem trạng thái lưu trạng thái của chế độ xem này có được bật hay không (nghĩa là, phương thức onSaveInstanceState() của nó sẽ được gọi).
Nếu bạn đặt thành false, giá trị này luôn quay trở lại trạng thái mặc định khi thay đổi hướng vì trạng thái của nó sẽ không được lưu.
Bạn có thể, ví dụ, đặt này trong file layout:
<ListView
....
android:visibility="invisible"
android:saveEnabled="false">
</ListView>
và sau đó thiết lập khả năng hiển thị để hiển thị khi bạn bắt đầu nhập. Hoặc nếu bạn muốn đặt chế độ hiển thị và phương thức setSaveEnabled trong phương thức onCreate.
Tôi đã thử với một ListView đơn giản và một Nút thay đổi mức hiển thị thành đúng. Trên chuyển động quay ListView trở thành invisibile (trạng thái của nó mặc định)
Cũng lưu ý rằng:
Cờ này chỉ có thể vô hiệu hóa tiết kiệm của quan điểm này; bất kỳ chế độ xem con nào cũng có thể được lưu lại trạng thái của chúng.
vì vậy bạn nên có để xóa danh sách trong onStop() hoặc bất cứ phương pháp nào bạn muốn nhưng nếu ngay cả nếu bạn không, ListView sẽ vẫn được ẩn trên xoay
Nguồn:
ghi đè chức năng này vào hoạt động của bạn và không gọi phương thức 'siêu'!
hoặc chỉ định hướng vào manifest:
<activity
android:name="com.blabla"
android:configChanges="keyboardHidden|orientation|screenSize"
android:screenOrientation="portrait" >
</activity>
hệ thống Android gọi phương pháp actiivty của bạn về biến đổi định hướng của thiết bị onCreate() của nó. Thêm configchanges gia nhập hoạt động của bạn trong manifest nếu bạn không muốn tạo hoạt động của bạn một lần nữa về biến đổi định hướng
<activity
android:name=".MyActivity"
android:configChanges="keyboardHidden|orientation"
/>
- 1. Android - lưu trạng thái ứng dụng
- 2. Lưu trạng thái WebView và khôi phục trong ANDROID
- 3. Android Fragment xem trạng thái trong một loạt tab
- 4. Làm thế nào để lưu trạng thái của tôi trong Windows Store App?
- 5. Cách khôi phục trạng thái xem phân đoạn Android
- 6. Lưu trạng thái ứng dụng trong Node.js
- 7. Trạng thái lưu trữ trong Java
- 8. Làm thế nào để lưu trạng thái hiện tại của khu vực dàn dựng của tôi?
- 9. Android: Lưu trạng thái dụ khi ứng dụng được đóng
- 10. Cách lưu trạng thái Fragment có listview
- 11. Trạng thái mẫu OAuth trong Android
- 12. Cách lưu trạng thái canvas thành db?
- 13. Làm thế nào để bỏ/Hủy bỏ thông báo trên thanh trạng thái ở android trình
- 14. Kiểm tra xem Excel có ở trạng thái bẩn không
- 15. Lưu và khôi phục trạng thái vim
- 16. lưu trạng thái studio trực quan
- 17. Android, AsyncTask, hãy kiểm tra trạng thái?
- 18. Làm cách nào để nhận trạng thái cuộc gọi đi trong điện thoại Android?
- 19. Làm cách nào để thêm trạng thái tệp git vào trạng thái của vim?
- 20. Lưu trạng thái TreeViewer trước khi setInput()
- 21. Lưu trạng thái bố cục Primefaces
- 22. Java EE 6: Làm cách nào để gọi Bean phiên trạng thái từ Bean phiên không trạng thái?
- 23. iOS7 - Xem dưới thanh trạng thái - edgeForExtendedLayout không hoạt động
- 24. Có cách nào để xác định xem một gói có trạng thái trong Oracle không?
- 25. Làm cách nào để nhận được windbg để lưu trạng thái phiên của tôi?
- 26. Làm cách nào để kiểm tra trạng thái hiển thị của EditText trong Android?
- 27. Làm thế nào để bạn thay đổi trạng thái của nút đóng cửa sổ trong Cocoa?
- 28. Android ImageButton với trạng thái đã chọn?
- 29. Làm cách nào để bảo toàn trạng thái đóng JavaScript?
- 30. Trong tình huống nào có trạng thái tốt hơn không trạng thái cho web?
hãy nhìn vào [ 'View.setSaveEnabled (enab boolean led) '] (phương pháp http://developer.android.com/reference/android/view/View.html#setSaveEnabled (boolean)) –