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