自定义ArrayAdapter,没有List类型参数

时间:2014-10-04 18:22:01

标签: java android listview android-arrayadapter

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

有没有办法确保只使用带有2个参数的超级构造函数(上下文和资源布局ID)来调用 getView 方法?

谢谢。

1 个答案:

答案 0 :(得分:3)

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

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