android.widget.AbsListView#getCount ( )源码实例Demo

下面列出了android.widget.AbsListView#getCount ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: SmartSwipe   文件: ViewCompat.java
/**
 * Check if the items in the list can be scrolled in a certain direction.
 *
 * @param listView listView
 * @param direction Negative to check scrolling up, positive to check
 *            scrolling down.
 * @return true if the list can be scrolled in the specified direction,
 *         false otherwise.
 */
public static boolean canListViewScrollVertical(AbsListView listView, int direction) {
    if (Build.VERSION.SDK_INT >= 19) {
        // Call the framework version directly
        return listView.canScrollList(direction);
    } else {
        // provide backport on earlier versions
        final int childCount = listView.getChildCount();
        if (childCount == 0) {
            return false;
        }

        final int firstPosition = listView.getFirstVisiblePosition();
        if (direction > 0) {
            final int lastBottom = listView.getChildAt(childCount - 1).getBottom();
            final int lastPosition = firstPosition + childCount;
            return lastPosition < listView.getCount()
                    || (lastBottom > listView.getHeight() - listView.getListPaddingBottom());
        } else {
            final int firstTop = listView.getChildAt(0).getTop();
            return firstPosition > 0 || firstTop < listView.getListPaddingTop();
        }
    }
}
 
源代码2 项目: pius1   文件: SlideBottomPanel.java
/**
 * Copy From AbsListView (API Level >= 19)
 * @param absListView AbsListView
 * @param direction Negative to check scrolling up, positive to check
 *                  scrolling down.
 * @return true if the list can be scrolled in the specified direction,
 *         false otherwise
 */
private boolean absListViewCanScrollList(AbsListView absListView,int direction) {
    final int childCount = absListView.getChildCount();
    if (childCount == 0) {
        return false;
    }
    final int firstPosition = absListView.getFirstVisiblePosition();
    if (direction > 0) {//can scroll down
        final int lastBottom = absListView.getChildAt(childCount - 1).getBottom();
        final int lastPosition = firstPosition + childCount;
        return lastPosition < absListView.getCount() || lastBottom > absListView.getHeight() - absListView.getPaddingTop();
    } else {//can scroll  up
        final int firstTop = absListView.getChildAt(0).getTop();
        return firstPosition > 0 || firstTop < absListView.getPaddingTop();
    }
}
 
源代码3 项目: YiBo   文件: AutoLoadMoreListener.java
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
	switch (scrollState) {
       case OnScrollListener.SCROLL_STATE_IDLE:
	    //Log.v(TAG, "已经停止:SCROLL_STATE_IDLE" + "-->" + view.getCount());
	    Context context = view.getContext();
	    SheJiaoMaoApplication sheJiaoMao = (SheJiaoMaoApplication) context.getApplicationContext();
	    if (view.getLastVisiblePosition() == view.getCount() - 1
	    	&& sheJiaoMao.isAutoLoadMore()) {
	    	view.getChildAt(view.getChildCount() - 1).performClick();
	    }
	    break;
       case OnScrollListener.SCROLL_STATE_FLING:
	    //Log.v(TAG, "开始滚动:SCROLL_STATE_FLING");
	    break;
	case OnScrollListener.SCROLL_STATE_TOUCH_SCROLL:
	   //Log.v(TAG, "正在滚动:SCROLL_STATE_TOUCH_SCROLL");
	   break;
    }
}
 
源代码4 项目: SprintNBA   文件: TBListView.java
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
                     int visibleItemCount, int totalItemCount) {
    mFirstVisibleItem = firstVisibleItem;
    if (view.getFirstVisiblePosition() == 1) {
        mIsTop = true;
        // 滑动到顶部
    } else if (onLoadMoreListener != null && view.getLastVisiblePosition() == view.getCount() - 1) {
        mIsBottom = true;
        onLoadMoreListener.onLoadMore();
        // 滑动到底部
    } else {
        mIsTop = false;
        mIsBottom = false;
    }
}
 
源代码5 项目: AndroidStudyDemo   文件: SwipyRefreshLayout.java
public boolean canChildScrollDown() {
    if (android.os.Build.VERSION.SDK_INT < 14) {
        if (mTarget instanceof AbsListView) {
            final AbsListView absListView = (AbsListView) mTarget;
            try {
                if (absListView.getCount() > 0) {
                    if (absListView.getLastVisiblePosition() + 1 == absListView.getCount()) {
                        int lastIndex = absListView.getLastVisiblePosition() - absListView.getFirstVisiblePosition();
                        return absListView.getChildAt(lastIndex).getBottom() == absListView.getPaddingBottom();
                    }
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            return true;
        } else {
            return true;
        }
    } else {
        return ViewCompat.canScrollVertically(mTarget, 1);
    }
}
 
源代码6 项目: AndroidStudyDemo   文件: DiySwipeRefreshLayout.java
public boolean canChildScrollDown() {
    if (android.os.Build.VERSION.SDK_INT < 14) {
        if (mTarget instanceof AbsListView) {
            final AbsListView absListView = (AbsListView) mTarget;
    		View lastChild = absListView.getChildAt(absListView.getChildCount() - 1);
    		if (lastChild != null) {
    			return (absListView.getLastVisiblePosition() == (absListView.getCount() - 1))
    					&& lastChild.getBottom() > absListView.getPaddingBottom();
    		}
    		else
    		{
    			return false;
    		}
        } else {
            return mTarget.getHeight() - mTarget.getScrollY() > 0;
        }
    } else {
        return ViewCompat.canScrollVertically(mTarget, 1);
    }
}
 
源代码7 项目: dynamiclistview   文件: Util.java
public static int getItemIndexAtLocation(AbsListView listView, int y) {
	int index = 0;

	if (listView.getCount() <= 0) 
		return index;

	int k = listView.getFirstVisiblePosition();

	for(int i = k ; i <= listView.getLastVisiblePosition() ; i++) {
		View view = listView.getChildAt(i - k);
		if (y > view.getTop() && y < view.getBottom() ) {
			return index = i;
		}
	}

	return 0;
}
 
源代码8 项目: wakao-app   文件: MyRobot.java
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
	listview.onScrollStateChanged(view, scrollState);
	// 当不滚动时
	if (scrollState == SCROLL_STATE_IDLE) {
		// 判断滚动到底部
		if (!IS_LOADING
				&& view.getLastVisiblePosition() == (view.getCount() - 1)) {
			Log.e("TAG", "loading。。。");
			IS_LOADING = true;
			getMore();
		}
	}
}
 
源代码9 项目: AndroidMaterialDialog   文件: DialogRootView.java
/**
 * Returns, whether a specific list view is scrolled to the bottom, or not.
 *
 * @param scrollView The list view as an instance of the class {@link AbsListView}. The list view may not
 *                   be null
 * @return True, if the given list view is scrolled to the bottom, false otherwise
 */
private boolean isListViewScrolledToBottom(@NonNull final AbsListView scrollView) {
    if (scrollView.getCount() > 0 && scrollView.getChildCount() > 0) {
        if (scrollView.getLastVisiblePosition() == scrollView.getCount() - 1) {
            View child = scrollView.getChildAt(scrollView.getChildCount() - 1);
            return child == null || child.getBottom() <= scrollView.getHeight();
        }
    } else {
        return true;
    }

    return false;
}
 
源代码10 项目: CommonPullToRefresh   文件: ListViewHandler.java
@Override
public void onScrollStateChanged(AbsListView listView, int scrollState) {
    if (scrollState == OnScrollListener.SCROLL_STATE_IDLE && listView.getLastVisiblePosition() + 1 == listView.getCount()) {// 如果滚动到最后一行
        if (onScrollBottomListener != null) {
            onScrollBottomListener.onScorllBootom();
        }
    }
}
 
源代码11 项目: CommonPullToRefresh   文件: GridViewHandler.java
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
    if (scrollState == OnScrollListener.SCROLL_STATE_IDLE && view.getLastVisiblePosition() + 1 == view.getCount()) {// 如果滚动到最后一行
        if (onScrollBottomListener != null) {
            onScrollBottomListener.onScorllBootom();
        }
    }
}
 
@Override
public boolean isScrolledToTop(View view) {
    AbsListView absListView = (AbsListView) view;
    if (absListView.getCount() == 0) {
        return true;
    } else if (absListView.getFirstVisiblePosition() == 0) {
        final View firstVisibleChild = absListView.getChildAt(0);
        return firstVisibleChild != null && firstVisibleChild.getTop() >= 0;
    }
    return false;
}
 
源代码13 项目: Conversations   文件: ConversationFragment.java
private static boolean scrolledToBottom(AbsListView listView) {
    final int count = listView.getCount();
    if (count == 0) {
        return true;
    } else if (listView.getLastVisiblePosition() == count - 1) {
        final View lastChild = listView.getChildAt(listView.getChildCount() - 1);
        return lastChild != null && lastChild.getBottom() <= listView.getHeight();
    } else {
        return false;
    }
}
 
源代码14 项目: Klyph   文件: AbsListViewDelegate.java
@Override
public boolean isReadyForPull(View view, final float x, final float y) {
    boolean ready = false;

    // First we check whether we're scrolled to the top
    AbsListView absListView = (AbsListView) view;
    if (absListView.getCount() == 0) {
        ready = true;
    } else if (absListView.getFirstVisiblePosition() == 0) {
        final View firstVisibleChild = absListView.getChildAt(0);
        ready = firstVisibleChild != null && firstVisibleChild.getTop() >= 0;
    }

    // Then we have to check whether the fas scroller is enabled, and check we're not starting
    // the gesture from the scroller
    if (ready && absListView.isFastScrollEnabled() && isFastScrollAlwaysVisible(absListView)) {
        switch (getVerticalScrollbarPosition(absListView)) {
            case View.SCROLLBAR_POSITION_RIGHT:
                ready = x < absListView.getRight() - absListView.getVerticalScrollbarWidth();
                break;
            case View.SCROLLBAR_POSITION_LEFT:
                ready = x > absListView.getVerticalScrollbarWidth();
                break;
        }
    }

    return ready;
}
 
源代码15 项目: dynamiclistview   文件: Util.java
public static boolean reachedListBottom(AbsListView listView) {
	boolean flag = true;
	if (listView.getChildCount() != 0) {
		int i = listView.getLastVisiblePosition();
		int j = listView.getCount();
		int k = listView.getHeight();
		int l = listView.getChildAt(-1 + listView.getChildCount()).getBottom();
		if (i != j - 1 || l > k) {
			flag = false;
		}
	}
	return flag;
}
 
源代码16 项目: WifiChat   文件: HandyListView.java
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
		int visibleItemCount, int totalItemCount) {
	mFirstVisibleItem = firstVisibleItem;
	if (view.getFirstVisiblePosition() == 1) {
		mIsTop = true;
	} else if (view.getLastVisiblePosition() == view.getCount() - 1) {
		mIsBottom = true;
	} else {
		mIsTop = false;
		mIsBottom = false;
	}
}
 
@Override
public boolean isScrolledToTop(View view) {
    AbsListView absListView = (AbsListView) view;
    if (absListView.getCount() == 0) {
        return true;
    } else if (absListView.getFirstVisiblePosition() == 0) {
        final View firstVisibleChild = absListView.getChildAt(0);
        return firstVisibleChild != null && firstVisibleChild.getTop() >= 0;
    }
    return false;
}
 
源代码18 项目: Bitocle   文件: AbsListViewDelegate.java
@Override
public boolean isReadyForPull(View view, final float x, final float y) {
    boolean ready = false;

    // First we check whether we're scrolled to the top
    AbsListView absListView = (AbsListView) view;
    if (absListView.getCount() == 0) {
        ready = true;
    } else if (absListView.getFirstVisiblePosition() == 0) {
        final View firstVisibleChild = absListView.getChildAt(0);
        ready = firstVisibleChild != null && firstVisibleChild.getTop() >= absListView.getPaddingTop();
    }

    // Then we have to check whether the fas scroller is enabled, and check we're not starting
    // the gesture from the scroller
    if (ready && absListView.isFastScrollEnabled() && isFastScrollAlwaysVisible(absListView)) {
        switch (getVerticalScrollbarPosition(absListView)) {
            case View.SCROLLBAR_POSITION_RIGHT:
                ready = x < absListView.getRight() - absListView.getVerticalScrollbarWidth();
                break;
            case View.SCROLLBAR_POSITION_LEFT:
                ready = x > absListView.getVerticalScrollbarWidth();
                break;
        }
    }

    return ready;
}
 
/**
 * Gets the position of the one and only checked item in the provided list in multiple selection
 * mode.
 *
 * @return {@code 0}-based position.
 * @throws IllegalStateException if the list is not in multiple selection mode, or if the number
 *     of checked items is not {@code 1}.
 */
@TargetApi(11)
private static int getMultiSelectListSingleCheckedItemPosition(AbsListView list) {
  Preconditions.checkState(list.getCheckedItemCount() == 1);
  SparseBooleanArray checkedItemPositions = list.getCheckedItemPositions();
  Preconditions.checkState(checkedItemPositions != null);
  for (int i = 0, len = list.getCount(); i < len; i++) {
    boolean itemChecked = checkedItemPositions.get(i);
    if (itemChecked) {
      return i;
    }
  }

  throw new IllegalStateException("No items checked");
}
 
源代码20 项目: rss   文件: ViewPagerDelegate.java
@Override
public
boolean isReadyForPull(View view, float x, float y)
{
    boolean ready = false;

  /* First we check whether we're scrolled to the top of current page. */
    if(null != s_fragmentFeeds)
    {
        AbsListView absListView = getCurrentTagListView();

        if(0 == absListView.getCount())
        {
            ready = true;
        }
        else if(0 == absListView.getFirstVisiblePosition())
        {
            View firstVisibleChild = absListView.getChildAt(0);
            ready = null != firstVisibleChild && 0 <= firstVisibleChild.getTop();
        }

        if(ready && absListView.isFastScrollEnabled() && absListView.isFastScrollAlwaysVisible())
        {
            switch(absListView.getVerticalScrollbarPosition())
            {
                case View.SCROLLBAR_POSITION_LEFT:
                    return x > absListView.getVerticalScrollbarWidth();
                case View.SCROLLBAR_POSITION_RIGHT:
                    return x < absListView.getRight() - absListView.getVerticalScrollbarWidth();
            }
        }
    }
    return ready;
}