我尝试使用this kind of factory将这些视图添加到列表视图,但每次我尝试将视图添加到ListActivity时,它都没有任何结果。我究竟做错了什么?我设置列表视图如下:
List<View> views = new ArrayList<View>();
for(int x =0;x<tagg_views.size();x++){
lv.addHeaderView(views.get(x));
}
答案 0 :(得分:1)
看起来您正在尝试向ListView添加x个标头。这没有意义。
ListView应包含同一视图的x个副本,每行有不同的信息。
Hello ListView给出了正确使用ListView的一个很好的例子。
答案 1 :(得分:1)
为什么要自己将视图添加到列表中?我强烈建议使用任何适当的Adapter列表。当用户滚动时,适配器将处理视图的创建和回收等。如果您使用适配器,则不建议您自己保存对视图的引用,就像您在视图列表中一样。
您正在使用的addHeaderView方法是将一个标题添加到列表中,该列表始终显示在列表顶部。这意味着在循环中调用它将没有合理的结果。
查看Mayra提到的helloListView示例,了解android中的列表是如何工作的。要查看自定义listadapter如何工作,看看这个tutorial看起来很有希望尽管代码格式不好。
答案 2 :(得分:1)
ListView与和链接器链接。适配器负责ListView中显示的数据。考虑到内部ListView创建了一个itmes池(或者可以在你的情况下显示的每种类型的项目的池)。
为此,您的适配器需要实现以下方法: