我尝试显示带有文本和图像的listView,以及制作一个customAdapter,就像在我看到的视频中一样(我是android编程的新手) 当我在MainActivity.class中尝试使用适配器时,它会要求我用一个列表填充它,例如在示例中。
CustomListAdapter listAdapter = new CustomListAdapter(this,imageItems);
在像这样填充它之前
private void fillList() {
imageItems = new ArrayList<>();
imageItems.add(new ImageItem(R.drawable.aloner,"Title 1"));
imageItems.add(new ImageItem(R.drawable.years,"Title 2"));
imageItems.add(new ImageItem(R.drawable.zombie,"Title 3"));
imageItems.add(new ImageItem(R.drawable.fighter,"Title 4"));
imageItems.add(new ImageItem(R.drawable.alonefighter,"Title 5"));
}
但是我的ImageList.class中已经有我需要的列表。
public static final ImageItem[] images = {
new ImageItem(R.drawable.aloner, "Title 1"),
new ImageItem(R.drawable.years, "Title 2"),
new ImageItem(R.drawable.zombie, "Title 3"),
new ImageItem(R.drawable.fighter, "Title 4"),
new ImageItem(R.drawable.alonefighter, "Title 5")
};
我尝试用我的 ImageList.images 填充适配器,但是它显示了一个错误并需要一个列表。 enter image description here
如何告诉我的CustomAdapter 使用从ImageItem.class创建的列表,而不是将其填充到MainActivity中?
希望我已经正确地解释了我的问题。在我观看的所有视频中,人们总是在填写清单...
答案 0 :(得分:0)
该错误清楚地表明,自定义适配器的构造函数中的参数类型与您要设置的参数类型不同。
您需要更改自定义适配器的构造函数以使用数组而不是列表,或者在调用构造函数时,可能需要将数组转换为类似
的列表CustomListAdapter listAdapter = new CustomListAdapter(this, Arrays.asList(ImageItem.images));
希望这会有所帮助!