對於我的項目,我需要一個功能來動態添加和刪除視圖(textedit或按鈕等)。動態添加或刪除視圖
我在Android的「添加聯繫人」屏幕中看到了類似的功能,其中加號按鈕添加新字段並減號按鈕刪除字段。
我發現EditContactActitivity.java
是「添加聯繫人」後面的文件。
我試圖找到加號或減號按鈕被按下但無法找到它時調用的方法,好像「添加聯繫人」代碼被分散到多個文件中。我無法理解Android源代碼,因爲文檔不可用。
有什麼建議嗎?
對於我的項目,我需要一個功能來動態添加和刪除視圖(textedit或按鈕等)。動態添加或刪除視圖
我在Android的「添加聯繫人」屏幕中看到了類似的功能,其中加號按鈕添加新字段並減號按鈕刪除字段。
我發現EditContactActitivity.java
是「添加聯繫人」後面的文件。
我試圖找到加號或減號按鈕被按下但無法找到它時調用的方法,好像「添加聯繫人」代碼被分散到多個文件中。我無法理解Android源代碼,因爲文檔不可用。
有什麼建議嗎?
您可以通過調用.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);
}
我會考慮研究的觀點可見性,而不是通過這一切麻煩去。例如。我有一個應用程序,我有一個相對簡單的「記錄」輸入屏幕,顯示爲對話框內容。目前有幾個視圖/視圖組正在使用可見性,根本沒有出現。如果用戶編輯記錄以添加更多細節,我將啓動一個使用相同xml佈局的Activity,但實例化一些當前「已離開」的視圖並將其可見性更改爲「可見」。
它以編程方式很容易切換視圖的可見性,所以我認爲這是真正的路要走。
我在這裏意識到的唯一限制是視圖順序或位置。
非常感謝您的幫助,請您也可以幫助我瞭解android源代碼並獲取特定方法或功能。 – supera