2010-11-07 66 views
0

與往常一樣,在Android中,每當屏幕翻轉到縱向/橫向模式時,Activity都會從onStroyInstanceState到onDestroy的生命週期運行,然後重新創建。切換屏幕方向時保存並恢復ButtonText

在我的Activity中有一個ButtonText可以被用戶改變。它被複位到初始狀態,但我必須以某種方式保存最後的狀態。我如何實現這一點,我將不得不重寫onSaveInstanceState?有人可以舉個例子嗎?

回答

1

步驟#1:撥getText().toString()Button以獲得標題。

步驟#2:致電putString()Bundle傳遞給您的實施onSaveInstanceState()來存儲標題。

第3步:在Bundle傳遞給你的執行onRestoreInstanceState()電話getString()(或onCreate(),如果Bundlenull,如果你願意的話),讓您的標題後面,然後調用setText()Button放添加字幕回來。

Here is a sample project使用onSaveInstanceState()保存的聯繫人(這也影響了Button是否被啓用)的Uri

+0

這是昭然若揭,謝謝! :-) – cody 2010-11-07 22:23:45

4

我有同樣的問題,並期望默認實現將負責恢復按鈕的文本。不幸的是,它沒有。最後,我分別找到了屬性android:freezesText和setFreezesText(boolean)方法。設置爲true時,該按鈕將自動恢復其文本。

見巴頓的超類的TextView的參考:http://developer.android.com/reference/android/widget/TextView.html#attr_android:freezesText

+1

這個答案的作用,就像向你的按鈕添加'「android:freezesText =」true「'一樣簡單,並且按鈕文本保存在方向更改中 – 2014-10-15 07:49:50