【发布时间】:2013-12-25 09:21:49
【问题描述】:
我有一个链接到 ListView 的 ArrayAdapter。
mListView.setAdapter(mArrayAdapter);
每当我将 ArrayList 数据重置为 ArrayAdapter 时:
mArrayAdapter.clear();
mArrayAdapter.addAll(mArrayList);
mArrayAdapter.notifyDataSetChanged()
ListView 得到正确更新
但是,如果在上面三行之后,我调用我的自定义方法mListView.hasScrollbar() 来检测列表视图是否有滚动条,我得到一个空lastVisibleItem:
public boolean hasScrollbar() {
View lastVisibleItem = (View) getChildAt(getChildCount() - 1);
if (lastVisibleItem.getBottom()>=getHeight()) {
return true;
}
return false;
}
是不是说listview还在刷新?
我的主要问题是:
如何在使用新数据重置适配器后测试列表视图是否有滚动条?
感谢您的帮助!
【问题讨论】:
标签: android android-listview scrollbar android-arrayadapter notifydatasetchanged