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中的所有代码,这些代码可以满足您的需要。 下载并根据需要使用:
我去看看!谢谢:)我去看看!谢谢:)