组件添加任意数量的输入字段?

时间:2011-03-12 07:26:13

标签: android android-widget

如果我错过了明显的话,我道歉。我对Android开发很新,当我搜索这个特定主题时,我并不确定要查找什么(就“名称”而言)。

在我写的一个应用程序中,我有一个部分,用户可以输入玩家的名字。但是,这可以从1到任何地方,无限制。但是,我不确定这种功能的最佳方法是什么,或者是否有一个组件已经做了类似的事情。

基本上,我正在寻找的功能类似于您在电话簿的编辑联系人屏幕中看到的功能;对于电话号码和电子邮件地址,您可以按一下加号按钮添加新号码/地址,或点击小减号按钮删除号码/地址。

我可以想到几种可能实现这一点的方法,但最后我认为将它包装在一个自定义组件中是最好的(这样你就可以调用“Get Players”并让它返回一个字符串列表通过每个输入并获取值。)

我只是想过这个吗?是否有一个组件可以做到这一点?是否有一些示例代码演示了这样做的好方法?

谢谢!

2 个答案:

答案 0 :(得分:0)

您可以使用ListView添加menu并添加“添加播放器”选项吗?例如,您可以自定义列表视图以获得一个小复选框,然后通过按菜单开始游戏...或者通过按另一个菜单按钮动态添加新玩家。

答案 1 :(得分:0)

在玩了一些想法后,我遇到了一个我认为适合我正在做的解决方案。我创建了一个扩展LinearLayout的自定义组件。作为组件创建的一部分,它会使用加号按钮创建一行“添加新...”。按加号按钮,然后创建一个包含EditText的新行和一个删除行的减号按钮。

然后我为这个组件创建了一个名为getTexts()的方法,它返回一个List,它包含来自所有组件的所有非空文本值。在虚拟应用程序中测试它似乎工作正常。

我认为我需要进行调整以使其更加健壮(例如以编程方式添加行的能力,在添加/删除行时向其他组件发出警报的侦听器,以及设置单个EditText值的能力) ,但这个功能正如我想象的那样。