【发布时间】:2015-08-06 06:13:29
【问题描述】:
我的要求很简单。 在我的应用程序中有一个列表视图,其中包含聊天消息和屏幕顶部的箭头图标。新项目将被动态添加,我想通过检查某些条件在新消息到达时显示此箭头图标,
1. Arrow will be shown if listview is not at bottom (ie last item is not visible).
2. Arrow will be dismissed when user scrolls listview to bottom.
3. Arrow will not be showed if listview is at bottom.
我使用了一个布尔值来检查 listvew 的位置状态, 当新消息到达时,我正在检查,
if(isAtBottom){
// Adding to list
mChatMessages.add(mNewMessage);
mAdapter.setListing(mChatMessages);
scrollListViewToBottom();
}else{
mChatMessages.add(mNewMessage);
mAdapter.setListing(mChatMessages);
startArrowIndicator();
}
当用户滚动列表视图时,会使用以下代码,
@Override
public void onScroll(AbsListView absListView, final int firstVisibleItem,
final int visibleItemCount, final int totalItemCount) {
final int lastItem = firstVisibleItem + visibleItemCount;
if(lastItem == totalItemCount) {
stopArrowIndicator();
isAtBottom = true;
}else{
isAtBottom = false;
}
}
但是这段代码不起作用..有什么想法吗..?
【问题讨论】:
标签: android listview count visible listitem