1

ArticlePhotos、および の3 つの異なるものを表す 3 つのクラスが あります。Videos

3 つすべてに共通の 2 つのプロパティがあります。 Atitleimageです。

3つのクラスが実装するinterface呼び出しがあります。ImageTitleListItemこれは、 andinterfaceの単なるゲッター/セッターです。titleimage

私は次の3つのクラスを持っていますArrayList:

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

そこにArrayListAdapterあるもののリストを表示するimagesがありtitleます。

パラメータとして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に比較的慣れていないので、見逃しているトリックがあります。誰かが私を助けてくれますか?

ありがとう

4

1 に答える 1

3

ArrayListAdapter コンストラクターは、次のように定義する必要があります。

 ArrayListAdapter(List<? extends ImageTitleListItem> list)
于 2013-05-27T13:19:32.803 に答える