在Android中是否有任何“重复器”类型的功能?我有一个相对布局(位于ListView中的一行内),并且我想让一系列TextView依次显示出来(好像它们是ListView行中的子行)。问题是这些“子行”的数量将会变化。是否有任何方法可以做到这一点,或者我应该在代码中创建TextView对象,并以编程方式将它们添加到线性或表格布局中?
除了ListView/ListAdapter之外,我能够想到的最接近的东西是ViewSwitcher和ViewSwitcher.ViewFactory,但实际上没有什么神奇的地方:它是一个接口,你可以调用它来获取一个视图。
既然只需要一行代码就可以获取一个视图并将其添加到当前层次结构中(View.inflate(context, R.layout.somelayout, myContainerViewGroup)
),因此使用更重的东西似乎有些愚蠢。但如果您觉得将其包装在某种工厂中会更好,请查看AOSP ViewSwitcher源代码。
一种选择是使用TextView支持多行文本。因此,您可以使用StringBuilder创建带有"\n"的文本以换行,并且不必担心多个文本视图。