Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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_Listview - Fatal编程技术网

Android 对组合元素使用listView

Android 对组合元素使用listView,android,listview,Android,Listview,我正在尝试创建一个列表视图,以便列表中的每个项目都由一个文本视图和一个(或多个)图像视图组成 到目前为止,我已经通过使用ArrayList和ArrayAdapter适配器,成功地使listView处理了仅为textview的项目 有没有办法实现我想要的?其他方法会更容易吗?(类似于使用TableRows,但我不确定它们是否可以配置为具有onClickListener)您应该使用自定义列表视图。看看这个链接 @Override public int getItemViewType(int

我正在尝试创建一个
列表视图
,以便列表中的每个项目都由一个
文本视图
和一个(或多个)
图像视图
组成

到目前为止,我已经通过使用
ArrayList
ArrayAdapter
适配器,成功地使
listView
处理了仅为
textview
的项目


有没有办法实现我想要的?其他方法会更容易吗?(类似于使用TableRows,但我不确定它们是否可以配置为具有onClickListener)

您应该使用自定义列表视图。看看这个链接

  @Override
   public int getItemViewType(int position) 
   {
    int type;
    if (ID.get(position)== 0){
    type = TYPE_ITEM1;  //type 0 for image
   } 
     else if (ID.get(position) == 1){
    type = TYPE_ITEM2; //type 1 for text
   }else {
    type = TYPE_ITEM3; //type 2 for videos
 }
 return type;
 }
 @Override
  public int getViewTypeCount() {
 return 3;    //three different layouts to be inflated
}

您应该使用自定义列表视图。看看这个链接

  @Override
   public int getItemViewType(int position) 
   {
    int type;
    if (ID.get(position)== 0){
    type = TYPE_ITEM1;  //type 0 for image
   } 
     else if (ID.get(position) == 1){
    type = TYPE_ITEM2; //type 1 for text
   }else {
    type = TYPE_ITEM3; //type 2 for videos
 }
 return type;
 }
 @Override
  public int getViewTypeCount() {
 return 3;    //three different layouts to be inflated
}

您可以通过ListView的Arraydapter提供自定义视图(您可以扩展ArrayAdapter以创建自己的视图)。关于您的另一个问题,是的,可以使TableRows可单击(例如,您可以在XML布局文件上执行此操作)。

您可以通过ListView的Arraydapter提供自定义视图(您可以扩展ArrayAdapter以创建自己的视图)。关于您的另一个问题,是的,可以使TableRows可单击(例如,您可以在XML布局文件上执行此操作)。

使用如下布局创建“list\u items.XML”:

<LinearLayout
    android:orientation="horizontal"
    [...]
     <ImageView
        [...]
        android:id="@+id/myimage"/>
     <TextView
        [...]            
        android:id="@+id/mytext"/>
</LinearLayout>
MyAdapter myAdapter = new MyAdapter(this, data);
myListView.setAdapter(myAdapter);
我假设您将数据传递到包含每行哈希映射的ArrayList中:

   #ListItem1 = data(0) - data.get(0).get("title"), data.get(0).get("image")
   #ListItem2 = data(1) - data.get(1).get("title"), data.get(1).get("image")

创建一个“list_items.xml”,布局如下:

<LinearLayout
    android:orientation="horizontal"
    [...]
     <ImageView
        [...]
        android:id="@+id/myimage"/>
     <TextView
        [...]            
        android:id="@+id/mytext"/>
</LinearLayout>
MyAdapter myAdapter = new MyAdapter(this, data);
myListView.setAdapter(myAdapter);
我假设您将数据传递到包含每行哈希映射的ArrayList中:

   #ListItem1 = data(0) - data.get(0).get("title"), data.get(0).get("image")
   #ListItem2 = data(1) - data.get(1).get("title"), data.get(1).get("image")

我已经上传了aps中的所有代码,可以满足您的需要。 下载并根据需要使用:


我已经上传了aps中的所有代码,这些代码可以满足您的需要。 下载并根据需要使用:


我去看看!谢谢:)我去看看!谢谢:)