gpt4 book ai didi

java - 自定义 ArrayAdapter 中未定义构造函数

转载 作者:行者123 更新时间:2023-12-01 07:34:49 25 4
gpt4 key购买 nike

我知道这个问题已经被解决了一百万次,是的,我已经搜索过,但它对我不起作用。

问题是方法super不需要正确的参数。

代码:

public class QuotesArrayAdapter extends ArrayAdapter<Map<Integer,List<String>>> {
private Context context;
Map<Integer,List<String>> Values;
static int textViewResId;
Logger Logger;

public QuotesArrayAdapter(Context context, int textViewResourceId, Map<Integer,List<String>> object) {
super(context, textViewResourceId, object); //<---- ERROR HERE
this.context = context;
this.Values = object;
Logger = new Logger(true);
Logger.l(Logger.TAG_DBG, "ArrayAdapter Inited");
}

Eclipse 所说的:

Multiple markers at this line
- The constructor ArrayAdapter<Map<Integer,List<String>>>(Context, int, Map<Integer,List<String>>)
is undefined
- The constructor ArrayAdapter<Map<Integer,List<String>>>(Context, int, Map<Integer,List<String>>)
is undefined

它想要super(Context, int),但这不是我想要的

最佳答案

查看 ArrayAdapter 可用的构造函数.

ArrayAdapter(Context context, int textViewResourceId)
ArrayAdapter(Context context, int resource, int textViewResourceId)
ArrayAdapter(Context context, int textViewResourceId, T[] objects)
ArrayAdapter(Context context, int resource, int textViewResourceId, T[] objects)
ArrayAdapter(Context context, int textViewResourceId, List<T> objects)
ArrayAdapter(Context context, int resource, int textViewResourceId, List<T> objects)

这些都不符合您的论点。

您打算调用哪一个?您的T这是Map<Integer,List<String>> ,但是你的构造函数的 object参数正是该类型。如果您想使用需要集合的构造函数之一,则需要从您拥有的单个对象构建该集合。

最简单的方法可能就是使用:

public QuotesArrayAdapter(Context context, int textViewResourceId,
Map<Integer,List<String>> object) {
super(context, textViewResourceId);
add(object);
...
}

关于java - 自定义 ArrayAdapter 中未定义构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13435555/

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