我想创建自己的ArrayAdapter,仅调用仅具有2个参数,上下文和资源布局ID的超级构造函数。
问题是,如果我使用该构造函数,则永远不会调用getView方法,但是如果我使用其他构造函数,则我将传递List对象参数或数组,它将调用我的getView方法。
我试图覆盖isEmpty方法,但仍然没有,也没有调用此方法。

有什么方法可以确保仅使用具有2个参数(上下文和资源布局ID)的超级构造函数来调用getView方法吗?

谢谢。

最佳答案

由于在使用两参数构造函数时没有将List传递给超类,因此需要重写getCount()方法以返回List的大小。否则,AdapterView会认为存在零项,并且不会尝试调用getView()。例如:

@Override
public int getCount()
{
    return list.size();
}

10-07 19:37
查看更多