目前我正在開發一個動態創建控件的Android應用程序。每次用戶點擊一個按鈕,一個新的EditText出現在按鈕下方,用戶可以與EditText進行交互。但是,如果屏幕方向改變,用戶創建的EditText也會消失。用戶創建的EditTextAndroid:動態創建控件和方向更改
代碼示例:(位於的onClick(),p是基本layoutParamas和佈局是位於undearneath該按鈕的LinearLayout)
EditText editText = new EditText(this);
layout.addView(buttonView, p);
想知道什麼將是最簡單的方法當屏幕方向改變時保存佈局,所以我不會丟失任何控件,或者我會錯誤地創建控件。
謝謝。
更新:通過重寫onSaveInstanceState()我可以保存一個對象,其中包含用戶的所有控件的列表中的任意添加。使用這個列表我能夠在onCreate()中創建控件。
仍然很好奇,如果有更簡單的方法來完成此任務,因爲我將不得不重構大量的代碼來完全實現此方法。
所以你能夠保存一個實際的對象?我的活動允許用戶將窗口小部件視圖放入,與您基於他們所做的添加視圖的過程非常相似。我想將小部件[]保存到捆綁包中,但我不知道如何。 – mylock 2010-02-18 07:39:06
有幾個指南可以在網上找到。例如:http://www.anddev.org/putting_an_object_into_a_bundle-t6431.html 基本上你必須讓對象實現Serializable或Parcelable。然後使用bundle.putSerializable或者bundle.putParcelable,你可以傳遞這個對象。對不起,延遲迴復 – BigAlHt 2010-02-25 17:15:42