目前,我有一个默认的列表视图,显示 Arraylist
javaclassname。我希望在listview中实现一个imageview,因此我阅读并尝试了以下两个链接中的方法:
使用arrayadapter的带有图像和文本的android自定义listview
带有图像和文本的android自定义listview–示例
我无法从他们的 String[]
以及 Integer[]
在各自的 CustomList
我自己的课 ArrayList
因为图像和名称存储在 Arraylist
. 我的 ArrayList
包括其他数据以及,但我只需要得到数据显示在定制 ListView
.
编辑/加载项:
private final Activity context;
private final String[] itemname;
private final Integer[] imgid;
public CustomListAdapter(Activity context, String[] itemname, Integer[] imgid) {
super(context, R.layout.mylist, itemname);
// TODO Auto-generated constructor stub
this.context=context;
this.itemname=itemname;
this.imgid=imgid;
}
public View getView(int position,View view,ViewGroup parent) {
LayoutInflater inflater=context.getLayoutInflater();
View rowView=inflater.inflate(R.layout.mylist, null,true);
TextView txtTitle = (TextView) rowView.findViewById(R.id.item);
ImageView imageView = (ImageView) rowView.findViewById(R.id.icon);
TextView extratxt = (TextView) rowView.findViewById(R.id.textView1);
txtTitle.setText(itemname[position]);
imageView.setImageResource(imgid[position]);
extratxt.setText("Description "+itemname[position]);
return rowView;
};
我密切关注创建customadapter所提供的一个链接。这就是我的主要活动
final ArrayList<JavaClassName> arrayListName = new ArrayList<JavaClassName>();
arrayListName.add(new JavaClassName(R.drawable.icon1, "name", "info", "info", "info"));
arrayListName.add(new JavaClassName(R.drawable.icon2, "name", "info", "info", "info"));
final ArrayList<String> itemName = new ArrayList<String>();
for(int i=0; i<arrayListName.size(); i++){
String name = arrayListName.get(i).getName().toString();
itemName.add(name);
};
CustomAdapter adapter = new CustomAdapter>(this, android.R.layout.simple_list_item_1, itemName);
listView.setAdapter(adapter);
如何将customadapter类中的字符串[]和整数[]放入customadapter=new customadapter>(this,android.r.layout.simple_list_item_1,itemname);?
3条答案
按热度按时间7fyelxc51#
https://www.youtube.com/watch?v=cyk_ht8z6ia
据我所知,我建议您应该创建自己的适配器。我不确定arraylist,因为大多数时候我只使用数组。
vqlkdk9b2#
转换
ArrayList to Array
```List names = new ArrayList();
// add stuff here
String[] namesArr = names.toArray(new String[names.size()]);
wz1wpwve3#
我想您的自定义适配器类继承自arrayadapter。根据文档,您提供给构造函数的资源(第二个参数,
R.layout.simple_list_item_1
在您的情况下)应该是包含TextView
-因为你有一个更复杂的布局不仅仅是一个
TextView
,你应该延长BaseAdapter
而不是上课。那么,创建自己的arraylist以管理数据
ArrayList<String>
以及ArrayList<Integer>
在你的情况下)。提供添加、删除和其他类似的方法来管理列表。
覆盖
getView
方法膨胀您的自定义布局,以设置文本和图像根据您的要求。