2011-10-14 139 views
1

對於我的項目,我需要一個功能來動態添加和刪除視圖(textedit或按鈕等)。動態添加或刪除視圖

我在Android的「添加聯繫人」屏幕中看到了類似的功能,其中加號按鈕添加新字段並減號按鈕刪除字段。

我發現EditContactActitivity.java是「添加聯繫人」後面的文件。

我試圖找到加號或減號按鈕被按下但無法找到它時調用的方法,好像「添加聯繫人」代碼被分散到多個文件中。我無法理解Android源代碼,因爲文檔不可用。
有什麼建議嗎?

回答

1

您可以通過調用.add().remove()對主佈局的引用並傳遞希望添加或刪除的視圖來添加和刪除視圖;

下面是展示添加和刪除按鈕的onCreate方法的一個簡單的例子:

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    LinearLayout myMainLayout = (LinearLayout)findViewById(R.id.yourMainLayout); 
    Button b = new Button(this); 
    //you can have some b.setXXX calls here to set text, view, click listeners etc... 
    myMainLayout.add(b); 



    //to remove 
    myMainLayout.remove(b); 

} 
+0

非常感謝您的幫助,請您也可以幫助我瞭解android源代碼並獲取特定方法或功能。 – supera

0

我會考慮研究的觀點可見性,而不是通過這一切麻煩去。例如。我有一個應用程序,我有一個相對簡單的「記錄」輸入屏幕,顯示爲對話框內容。目前有幾個視圖/視圖組正在使用可見性,根本沒有出現。如果用戶編輯記錄以添加更多細節,我將啓動一個使用相同xml佈局的Activity,但實例化一些當前「已離開」的視圖並將其可見性更改爲「可見」。

它以編程方式很容易切換視圖的可見性,所以我認爲這是真正的路要走。

我在這裏意識到的唯一限制是視圖順序或位置。