我有一个链接到 ListView 的 ArrayAdapter。
mListView.setAdapter(mArrayAdapter);
每当我将 ArrayList 数据重置为 ArrayAdapter 时:
mArrayAdapter.clear();
mArrayAdapter.addAll(mArrayList);
mArrayAdapter.notifyDataSetChanged()
ListView 得到正确更新
但是,如果在上述三行之后,我调用我的自定义方法mListView.hasScrollbar()
来检测列表视图是否有滚动条,我会得到一个 null lastVisibleItem
:
public boolean hasScrollbar() {
View lastVisibleItem = (View) getChildAt(getChildCount() - 1);
if (lastVisibleItem.getBottom()>=getHeight()) {
return true;
}
return false;
}
这是否意味着列表视图仍然令人耳目一新?
我的主要问题是:
如何在使用新数据重置适配器后测试列表视图是否具有滚动条?
感谢您的任何帮助!