gpt4 book ai didi

android - 如何继承ArrayAdapter?

转载 作者:太空狗 更新时间:2023-10-29 16:42:50 25 4
gpt4 key购买 nike

所以我找到了一些我正在尝试开始工作的代码。我是 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;
}
}

然后在其他地方:

myRssAdapter = new RSSListAdapter(thisActivityContext, newsListView, myItemsDataArrayList);

其中 myItemsDataArrayList 声明如下:

ArrayList<MyRSSItem> myItemsDataArrayList = new ArrayList<MyRSSItem>();

我收到这个错误:

The constructor News.RSSListAdaptor(Context, ListView, ArrayList) is undefined

当然,我已经尝试过 Google,但是,运气不好。

最佳答案

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

public RSSListAdapter(Context context, int viewid, List<MyRSSItem> objects) {

这意味着它只接受 Context , 一个 int , 和一个 List <MyRSSItem>

但是,您使用这些参数调用构造函数:

new RSSListAdapter(thisActivityContext, newsListView, myItemsDataArrayList);

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

如果改为android.R.id.text1 ,它应该可以工作,因为这是一个有效的 TextView id,比如 superclass constructor需要。

绝对不要忘记设置 ListView的适配器到您的 RSSListAdapter创建后。

更多详细信息,this教程非常有用。

关于android - 如何继承ArrayAdapter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14948462/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com