2011-03-12 44 views
1

我很抱歉,如果我只是想念明顯。我對Android開發相當陌生,當我搜索這個特定主題時,我並不確定要尋找什麼(用「名稱」)。添加任意數量的輸入字段的組件?

在我寫的一個應用程序中,我有一個部分,用戶可以輸入玩家的名字。但是,這可以從1到任何範圍,沒有限制。但是,我不確定這種功能的最佳方法是什麼,或者是否有一個組件已經有類似的功能。

基本上,我正在查找的功能類似於您可以在電話簿的編輯聯繫人屏幕中看到的功能;對於電話號碼和電子郵件地址,您可以按一下加號按鈕來添加新的號碼/地址,或點擊小減號按鈕以刪除號碼/地址。

我可以想出幾種可能的實現方法,但最終我認爲將它包裝在自定義組件中將是最好的(以便您可以調用「獲取播放器」並讓它返回一串字符串通過每個輸入並獲取值)。

我只是在推翻這個嗎?有沒有一個組件可以做到這一點?是否有一些示例代碼演示了一種很好的方法來做到這一點?

謝謝!

回答

0

在玩過一些想法之後,我遇到了一個我認爲適合自己的解決方案。我創建了一個擴展LinearLayout的自定義組件。作爲組件創建的一部分,它會創建一個用加號按鈕表示「添加新...」的行。按加號按鈕,然後創建一個新的行,其中包含一個EditText和一個將刪除該行的減號按鈕。

然後,我創建了一個名爲getTexts()的組件的方法,它返回一個列表,其中包含所有組件的所有非空文本值。在一個虛擬應用程序中測試它,它似乎工作正常。

我想我需要進行調整以使其更加健壯(例如,以編程方式添加行的能力,添加/刪除行時提醒其他組件的偵聽器以及設置單個EditText值的能力,例如),但這是我想象的功能。

0

您可以使用ListView並添加一個帶有「添加播放器」選項的menu?例如,您可以自定義列表視圖以創建一個複選框,然後按菜單開始遊戲......或者通過按另一個菜單按鈕動態添加新玩家。

+0

這是我想過的選項之一,但功能上相似,但不完全相同(並且不太「用戶友好」)。不過,我認爲ListView可能是最好的選擇,第一行有一個標籤和加號按鈕,其餘的有EditText和一個減號按鈕。 – sigmazero13 2011-03-13 07:25:13

+0

您也可以使用自動完成功能,例如當您將多個收件人鍵入電子郵件(使用Gmail應用程序)或短信時。 – 2011-03-13 08:53:42

+0

嗯,這是一個想法;但是如果你想添加的球員姓名不在你的聯繫人列表中(或者你從中得到任何名字的名單),那麼這樣做會起作用嗎? – sigmazero13 2011-03-14 05:50:35

相關問題