zoukankan      html  css  js  c++  java
  • 判断最后listView中最后一个item是否完全显示出来

     /**
         * 判断最后listView中最后一个item是否完全显示出来
         * listView 是集合的那个ListView
         * @return true完全显示出来,否则false
         */
        
        protected boolean isLastItemVisible() {
            final Adapter adapter1 = listView.getAdapter();
    
            if (null == adapter || adapter.isEmpty()) {
                return true;
            }
    
            final int lastItemPosition = adapter.getCount() - 1;
            final int lastVisiblePosition = listView.getLastVisiblePosition();
    
            /**
             * This check should really just be: lastVisiblePosition == lastItemPosition, but ListView
             * internally uses a FooterView which messes the positions up. For me we'll just subtract
             * one to account for it and rely on the inner condition which checks getBottom().
             */
            if (lastVisiblePosition >= lastItemPosition - 1) {
                final int childIndex = lastVisiblePosition - listView.getFirstVisiblePosition();
                final int childCount = listView.getChildCount();
                final int index = Math.min(childIndex, childCount - 1);
                final View lastVisibleChild = listView.getChildAt(index);
                if (lastVisibleChild != null) {
                    return lastVisibleChild.getBottom() <= listView.getBottom();
                }
            }
    
            return false;
        }
  • 相关阅读:
    mysql分组排序取组内第一的数据行
    C#版Nebula客户端编译
    关于nginx
    http状态码
    gitlab
    TCP/IP 3次握手和四次断开
    nps 内网穿透
    用CentOS7做一个简单的路由器
    linux 简单特效
    LVS粗讲
  • 原文地址:https://www.cnblogs.com/jss4j/p/4311602.html
Copyright © 2011-2022 走看看