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;
        }
  • 相关阅读:
    监听刷新
    判断当前日期是否在[startDate, endDate]区间
    精确计算工具类,提供加减乘除的计算
    常用正则表达式
    高并发
    递归案例
    序列化和反序列化
    web安全
    复杂跨域之CorsFilter源码分析
    springMVC访问根路径问题
  • 原文地址:https://www.cnblogs.com/jss4j/p/4311602.html
Copyright © 2011-2022 走看看