2014-12-31 41 views
1

因爲我對Java和Android編程非常陌生,所以我慢慢習慣了Android工作室和資源系統,xml管理等。Java和Android:在活動中創建動態可擴展EditText列表的最佳方式?

我試圖創建一個活動開始計數10個EditTextes,在LinearLayout中垂直列出。 到此爲止,我可以用一個XML文件&對10個EditTextes進行硬編碼來管理所有事情。

問題在於,我想提供一個按鈕,可以由用戶點擊以自動展開列表,例如在運行時添加10個EditTextes到列表。 AFAIK,我不能用XML解決這個問題。 我知道,我可以用LayoutInflater()得到的佈局(XML佈局)的一個對象在我的MainActivity類別膨脹......

我的問題是: 是它在一個XML來定義佈局的正確方法使用上述方法修改它,或者最好在我的類中使用Java創建整個佈局: LinearLayout layout = new LinearLayout(this); //添加EditTexts //設置屬性 // setContentView(layout);

使用這種方式有什麼缺點,還是和使用XML一樣嗎?我的意思是,爲了再次處理創建的EditTexts,我也必須傳遞一個ID給他們,所以我還必須創建一個ids.xml,其中列出了所有這些ID。這聽起來像對我來說很多工作..

我在正確的方式或有更好的選項來創建/操作佈局?

回答

1

如果要用多個視圖填充列表視圖,最好使用適配器。可以使用適配器填充列表,並將行添加到此列表中。
如果您想要了解如何創建列表的教程:http://www.softwarepassion.com/android-series-custom-listview-items-and-adapters/

有關適配器的最佳部分是,您可以爲其創建自定義佈局。所以如果你想要一個只有EditTexts或ImageViews的List Item,很容易創建。

最後,您將只有1行佈局文件和1個包含列表的佈局文件。膨脹一個佈局比創建它們要容易得多,比如「LinearLayout layout = new LinearLayout(this); // Add EditTexts // set attributes // setContentView(layout);」

有很多關於如何創建一個適配器的教程,你會得到它!

+0

嗨Hespen,非常感謝你的提示。我讀了一些關於這些東西的信息,聽起來就像我正在尋找的東西!順便說一句:使用這種方法也使用充氣機,所以我認爲(就像你已經提到的)充氣機是以編程方式訪問和操縱xml的經典方式,對嗎? – Binary91

+0

膨脹並不是真的在操縱XML,它只是呈現XML,之後您可以訪問和更改呈現的對象。 – Hespen

+0

好的,是的,這或多或少是我的意思:-P好吧,現在我有一些工作,再次感謝 – Binary91

相關問題