2011-12-20 46 views
2

在我的應用我想通過編碼(編程)添加和刪除視圖(如Button,或TextviewCheckbox)。如何在android中動態添加和刪除視圖?這也是存儲,即使我關閉了應用

具體爲:

我有一個EditText和一個添加Button。用戶在EditText輸入任何內容,然後按添加Button然後這個人是在波紋管LinearLayout增加,以及是否用戶點擊他/她的額外Button它會去下一個LinearLayout

我得到sucess高達這一點。

但是當用戶點擊第二個按鈕LinearLayout時,它會首先回到Linearlayout。我遇到錯誤在這裏,我不知道我在哪裏犯了一個錯誤。

而且我也面臨着如何我可以存儲所有這些問題。像用戶添加5按鈕並關閉應用程序,每當他/她回到應用程序時,我需要他/她以前添加的任何內容。

這裏是我做了什麼。 http://dynamicandroidview.blogspot.com/2011/12/how-to-add-view-in-android-by-coding.html

+0

ü可以存儲無。在共享首選項中添加按鈕並在用戶稍後使用時檢索它 – 2011-12-20 18:42:30

+0

感謝您的重播,在共享首選項中如何存儲按鈕對象?或者我可以只存儲添加的按鈕的名稱?以及如何確定在哪個Linearlayout中用戶添加了多少按鈕? – 2011-12-21 10:50:23

回答

0

嘗試創建一個數據庫表,最少2列在你的情況下它將是id和buttonText。 現在,當用戶點擊添加按鈕時,它會將文本保存到數據庫中,並且會在之前已經創建的按鈕或新按鈕之下動態地創建按鈕。 現在,在您onCreate方法獲取文本的計數多數民衆贊成存儲在如下面的代碼database.Some件事:

DB getData = DB.getInstance(); 
getData.open(this); 
ArrayList<TextHolder> getList = new ArrayList<TextHolder>(); 
getList = getData.getAllTextFromGeT(); 
getData.close(); 
x = genList.size(); 

這裏x是已經存儲在database.Now你的元素數/數可以另一個int說我,並在for循環中使用此i和x,您可以動態地創建按鈕。 循環,你可以不喜歡裏面的下面,以獲取文本爲正在創建的所有按鈕:

TextHolder firstOne = getList.get(i); 
String text = firstOne.getText(); 

您還需要與getter和setter方法類以DB元素轉換成objects.Like在上面的代碼中,getText()是我們的getter方法,它從數據庫獲取元素並將其返回到此處。 這裏的文字將是按鈕的文字。因此,每次用戶啓動應用程序時,他都會看到他以前運行應用程序時創建的所有按鈕,新添加的按鈕將出現在現場,並且還會存儲在數據庫中供將來檢索。 記住我們只是保存按鈕的文字,並對它賦予唯一的ID,這有助於我們創造buttons.Hope這有助於

相關問題