将ArrayList <someclass>转换为ArrayList <someinterface> </someinterface> </someclass>

时间:2013-05-27 13:13:14

标签: java android

我有3个类代表3个不同的东西: ArticlePhotos,和 Videos

所有3件事共有2个属性: titleimage

我有一个interface名为ImageTitleListItem的3个类实现。 interface只是titleimage

的getter / setter

我有3个ArrayList的课程:

Articles extends ArrayList<Article>
Photos extends ArrayList<Photo>
Videos extends ArrayList<Video>

我有一个ArrayListAdapter,其中显示imagestitle的列表。

ArrayListAdapter的构造函数接收ArrayList<ImageTitleListItem>作为参数

我打电话的时候:

adapter = new ArrayListAdapter(Articles)

我有一个错误:

The constructor ArrayListAdapter(Articles) is undefined

这是正常的,所以我试图施展它:

adapter = new ArrayListAdapter((ArrayList<ImageTitleListItem>)Articles)

现在错误是:

Cannot cast from Articles to ArrayList<ImageTitleListItem>

我对java很新,所以有一个我不知道的技巧,有人可以帮我解决这个问题。

由于

1 个答案:

答案 0 :(得分:3)

需要将ArrayListAdapter构造函数定义为

 ArrayListAdapter(List<? extends ImageTitleListItem> list)