我想创建自己的 ArrayAdapter ,只调用只有2个参数的超级构造函数,即上下文和资源布局ID。 问题是,如果我使用该构造函数,则永远不会调用 getView 方法,但如果我使用其他构造函数,则传递List对象参数或数组,它将调用我的 getView < / strong>方法。 我试图覆盖 isEmpty 方法但仍然没有,也没有调用此方法。
有没有办法确保只使用带有2个参数的超级构造函数(上下文和资源布局ID)来调用 getView 方法?
谢谢。
答案 0 :(得分:3)
由于在使用双参数构造函数时没有将List传递给超类,因此您需要覆盖getCount()
方法以返回List的大小。否则,AdapterView会认为零项,并且不会尝试调用getView()
。例如:
@Override
public int getCount()
{
return list.size();
}