當屏幕旋轉或用戶在電話上滑動鍵盤時,如何防止重新啓動活動?這可能嗎?有沒有解決辦法或什麼的?所有相關的答案表示讚賞。方向更改時活動不斷重新啓動
回答
您可以通過在manifest.xml
的activity
元素中聲明特定的屬性來完成此操作。有問題的元素被稱爲android:configChanges
,您需要註冊字符串值orientation
。
<activity android:name=".MyActivity"
android:configChanges="orientation"
android:label="@string/app_name">
現在,當這些配置的一個改變,MyActivity不 重新啓動。相反,活動接收對onConfigurationChanged()的調用 。此方法傳遞一個配置對象 ,它指定新的設備配置。通過讀取 配置中的字段,您可以通過更新界面中使用的資源來確定新配置並進行適當的更改。 在這個方法被調用的時候,你的作業資源對象是 更新基礎上,新的配置,返回的資源,所以你可以 輕鬆重置您的UI元素,而無需系統重新啓動 活動
這樣算下來這會導致您的Activity
無法重新啓動,並且還會回撥到以便您可以自己處理更改。
如果你閱讀文檔here,你會看到,你可以指定你的清單如下:
<activity ...
android:configChanges="orientation">
一旦你有了這個,你可以實現onConfigurationChanged()
方法收到有關方向改變的通知,或者只是使用基類的實現。
複製其他人的好工作 –
@Arvin兩個答案相隔4分鐘。這個答案不太可能是一個「副本」,只是一個同時發佈的等價答案。它始終發生,並不是什麼大不了的事情。除非後面的答案實際上增加了一些有用的東西,否則人們普遍贊成更早的答案。你的評論聽起來像酸葡萄,因爲你自己的答案是低調的。 –
- 1. 活動當方向更改android時重新啓動?
- 2. 僅在方向更改時重新啓動活動
- 3. 如何防止方向更改期間活動重新啓動?
- 4. 如何更改基於方向的UI但同時避免活動重新啓動時方向更改
- 5. 更改字體重新啓動活動
- 6. 如何防止活動在Android中的方向更改時重新啓動?
- 7. Eclipse活動在代碼更改時不重新啓動
- 8. ScrollView不滾動,應用程序重新啓動方向更改
- 9. 在Android中的方向更改時活動重新加載
- 10. 防止活動在方向更改時重新加載內容
- 11. 檢測活動是否由於方向更改而重新啓動
- 12. 避免在方向更改時重新啓動線程
- 13. 字體更改時停止活動重新啓動
- 14. 查看模式更改時活動重新啓動
- 15. 活動重新啓動時,電話查看模式更改
- 16. 在不重新啓動當前活動的情況下調用方向更改的活動
- 17. 更好的方法來處理方向更改時的活動重啓?
- 18. 更改活動啓動意向錯誤
- 19. 活動重新啓動時查看更改爲橫向自定義視圖
- 20. 活動方向更改
- 21. 活動重新啓動但計時器未重新啓動
- 22. ListView不斷重新創建活動更改。
- 23. 重新啓動活動嗎?
- 24. 重新啓動活動Android
- 25. Android活動重新啓動
- 26. Eclipse更改啓動活動
- 27. Android:如何防止方向更改後重新加載活動?
- 28. 重新開始活動,例如方向更改
- 29. Android activity重新啓動當方向更改
- 30. 想要停止重新啓動asynctask方向更改
你能給我一些示例代碼嗎?我似乎無法得到它的工作。 – gsfd
什麼是你似乎無法工作?你能通過編輯提供你的問題的更新嗎?如果你提到你所嘗試過的東西,以及具體哪些不起作用,這將會有所幫助。 –
除了「方向」之外,根據您的問題,您可能還需要添加相關的鍵盤配置更改以處理鍵盤操作,因此您可能希望放置的值爲「方向|鍵盤|鍵盤隱藏」。正如尼古拉斯所說,你可能想/需要自己處理onConfigurationChanged() – momo