與往常一樣,在Android中,每當屏幕翻轉到縱向/橫向模式時,Activity都會從onStroyInstanceState到onDestroy的生命週期運行,然後重新創建。切換屏幕方向時保存並恢復ButtonText
在我的Activity中有一個ButtonText可以被用戶改變。它被複位到初始狀態,但我必須以某種方式保存最後的狀態。我如何實現這一點,我將不得不重寫onSaveInstanceState?有人可以舉個例子嗎?
與往常一樣,在Android中,每當屏幕翻轉到縱向/橫向模式時,Activity都會從onStroyInstanceState到onDestroy的生命週期運行,然後重新創建。切換屏幕方向時保存並恢復ButtonText
在我的Activity中有一個ButtonText可以被用戶改變。它被複位到初始狀態,但我必須以某種方式保存最後的狀態。我如何實現這一點,我將不得不重寫onSaveInstanceState?有人可以舉個例子嗎?
步驟#1:撥getText().toString()
Button
以獲得標題。
步驟#2:致電putString()
將Bundle
傳遞給您的實施onSaveInstanceState()
來存儲標題。
第3步:在Bundle
傳遞給你的執行onRestoreInstanceState()
電話getString()
(或onCreate()
,如果Bundle
不null
,如果你願意的話),讓您的標題後面,然後調用setText()
您Button
放添加字幕回來。
Here is a sample project使用onSaveInstanceState()
保存的聯繫人(這也影響了Button
是否被啓用)的Uri
。
我有同樣的問題,並期望默認實現將負責恢復按鈕的文本。不幸的是,它沒有。最後,我分別找到了屬性android:freezesText和setFreezesText(boolean)方法。設置爲true時,該按鈕將自動恢復其文本。
見巴頓的超類的TextView的參考:http://developer.android.com/reference/android/widget/TextView.html#attr_android:freezesText
這個答案的作用,就像向你的按鈕添加'「android:freezesText =」true「'一樣簡單,並且按鈕文本保存在方向更改中 – 2014-10-15 07:49:50
這是昭然若揭,謝謝! :-) – cody 2010-11-07 22:23:45