如何从ArrayAdapter继承?

Tom*_*Tom 2 android android-arrayadapter

所以我发现了一些我正在努力工作的代码.我是Android/Exclipse/Java的新手,仍然试图将整个事情包裹起来.但是,我主演自己是盲目的.

说我有这个:

private class RSSListAdapter extends ArrayAdapter<MyRSSItem> {
  private List<MyRSSItem> objects = null;        
  public RSSListAdapter(Context context, int viewid, List<MyRSSItem> objects) {
    super(context, viewid, objects);                       
    this.objects = objects;            
  }
}
Run Code Online (Sandbox Code Playgroud)

这个:

myRssAdapter = new RSSListAdapter(thisActivityContext, newsListView, myItemsDataArrayList);
Run Code Online (Sandbox Code Playgroud)

在哪里myItemsDataArrayList声明如下:

ArrayList<MyRSSItem> myItemsDataArrayList = new ArrayList<MyRSSItem>();
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

构造函数News.RSSListAdaptor(Context,ListView,ArrayList)未定义

我当然试过谷歌,但是,好吧,没有运气.

A--*_*--C 5

构造函数的定义是这样的:

public RSSListAdapter(Context context, int viewid, List<MyRSSItem> objects) {
Run Code Online (Sandbox Code Playgroud)

这意味着它只接受a Context,an int和aList <MyRSSItem>

但是,您使用以下参数调用构造函数:

new RSSListAdapter(thisActivityContext, newsListView, myItemsDataArrayList);
Run Code Online (Sandbox Code Playgroud)

第二参数是一个newsListView,这不是一个int,这是一个ListView.它们的类型不同,因此编译时错误.

如果你改变android.R.id.text1,它应该工作,因为这是一个有效的TextView id,就像超类构造函数所需.

绝对不要忘记在创建之后将ListView适配器设置为您的适配器RSSListAdapter.

有关更多详细信息,教程非常有用.

  • OMG + Doh!+我确实说我主演了自己.我正在调查有关Java构造函数的所有事情,而不是......好吧,让我们不要再多说了,而不是为了我.谢谢!:) (2认同)