Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 向listview添加多个视图_Android_User Interface_Android Listview - Fatal编程技术网

Android 向listview添加多个视图

Android 向listview添加多个视图,android,user-interface,android-listview,Android,User Interface,Android Listview,我尝试使用将这些视图添加到列表视图,但每次尝试将视图添加到ListActivity时,都没有结果。我做错了什么?我将列表视图设置为: List<View> views = new ArrayList<View>(); for(int x =0;x<tagg_views.size();x++){ lv.addHeaderView(views.get(x)); } 列表视图=新建ArrayList(); 对于(intx=0;x来说,您似乎正在尝试向L

我尝试使用将这些视图添加到列表视图,但每次尝试将视图添加到ListActivity时,都没有结果。我做错了什么?我将列表视图设置为:

 List<View> views = new ArrayList<View>();
 for(int x =0;x<tagg_views.size();x++){
      lv.addHeaderView(views.get(x));
 }
列表视图=新建ArrayList();

对于(intx=0;x来说,您似乎正在尝试向ListView添加x个标题。这没有意义

ListView应包含x个相同视图的副本,每行上有不同的信息


给出了正确使用ListView的一个很好的示例。

看起来您正在尝试向ListView添加x个标题。这没有意义

ListView应包含x个相同视图的副本,每行上有不同的信息


提供了一个正确使用ListView的好例子。

为什么您要自己将视图添加到列表中?我强烈建议您使用任何适合列表的类型。适配器将在用户滚动等过程中处理视图的创建和循环。如果您使用适配器,则不鼓励保存对vie的引用让自己像在视图列表中那样做

您正在使用的方法被设置为列表的一个标题,该标题将始终显示在列表的顶部。这意味着在循环中调用它将不会产生合理的结果


查看Mayra提到的示例,了解android中的列表是如何工作的。要了解自定义listadapter是如何工作的,尽管代码格式不好,但这看起来很有希望。

为什么要自己将视图添加到列表中?我强烈建议对列表使用任何适当的方式。适配器将处理在用户滚动时创建和循环使用视图等。如果使用适配器,则不建议像在视图列表中那样保存对视图的引用

您正在使用的方法被设置为列表的一个标题,该标题将始终显示在列表的顶部。这意味着在循环中调用它将不会产生合理的结果


查看Mayra提到的示例,了解android中的列表是如何工作的。要了解自定义listadapter是如何工作的,尽管代码格式不好,但这看起来很有希望。

ListView与和适配器链接。适配器负责ListView中显示的数据。考虑到ListView创建一个ITME池(或者为案例中可以显示的每种类型的项目创建一个池)

为此,适配器需要实现以下方法:

  • int getItemViewType(int position):获取将由getView(int,View,ViewGroup)为指定项创建的视图类型。因此,您需要标识您的类型
  • int getViewTypeCount():返回将由getView(int、View、ViewGroup)创建的视图类型数。用于为每种类型的项创建池

ListView与和适配器链接。适配器负责ListView中显示的数据。请考虑到ListView在内部创建了一个ITME池(或在您的案例中可以显示的每种类型的项目的池)

为此,适配器需要实现以下方法:

  • int getItemViewType(int position):获取将由getView(int,View,ViewGroup)为指定项创建的视图类型。因此,您需要标识您的类型
  • int getViewTypeCount():返回将由getView(int、View、ViewGroup)创建的视图类型数。用于为每种类型的项创建池

我理解这一点,但它们是同一类型的视图,listview不应该知道我给它的视图中的内容——只是它应该显示我给它的视图。你知道我的意思吗?这是真的,在Hello listview示例中,所有视图都是list\u item类型。你不说视图中的内容,但你应该是able以该示例为起点,用您的特定视图替换列表项。您尝试过了吗?我尝试过了,并且我能够让它工作。非常感谢您的帮助!我理解这一点,但它们是同一类型的视图,列表视图不应该知道我给它的视图中的内容--只是它应该显示你知道我的意思吗?这是真的,在Hello ListView示例中,所有视图都是list\u item类型。你不说视图中有什么,但你应该能够以该示例为起点,用你的特定视图替换list\u item。你试过了吗?我试过了,并且我能够让它工作。非常感谢你谢谢你的帮助!