Java Code Examples for android.widget.ListAdapter#isEmpty()

The following examples show how to use android.widget.ListAdapter#isEmpty() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: PullToRefreshInnerListView.java    From MagicHeaderViewPager with Apache License 2.0 5 votes vote down vote up
@Override
    protected void onRefreshing(final boolean doScroll) {
        /**
         * If we're not showing the Refreshing view, or the list is empty, the
         * the header/footer views won't show so we use the normal method.
         */
        ListAdapter adapter = mRefreshableView.getAdapter();
        if (!mListViewExtrasEnabled || !getShowViewWhileRefreshing() || null == adapter || adapter.isEmpty()) {
            super.onRefreshing(doScroll);
            return;
        }
//
        super.onRefreshing(false);
//
        final LoadingLayout origLoadingView, listViewLoadingView, oppositeListViewLoadingView;
        final int selection, scrollToY;

        switch (getCurrentMode()) {
            case MANUAL_REFRESH_ONLY:
            case PULL_FROM_END:
                origLoadingView = getFooterLayout();
                listViewLoadingView = mFooterLoadingView;
                oppositeListViewLoadingView = mHeaderLoadingView;
                selection = mRefreshableView.getCount() - 1;
                scrollToY = getScrollY() - getFooterSize();
//				smoothScrollTo(0);
                smoothScrollTo(getFooterSize());
                break;
            case PULL_FROM_START:
            default:
                origLoadingView = getHeaderLayout();
                listViewLoadingView = mHeaderLoadingView;
                oppositeListViewLoadingView = mFooterLoadingView;
                selection = 0;
                scrollToY = (int) (getScrollY() + getHeaderSize() * LoadingLayout.SCALE_REFRESHING);
                smoothScrollTo((int) (-getHeaderSize() * LoadingLayout.SCALE_REFRESHING));
                break;
        }
        oppositeListViewLoadingView.setVisibility(View.GONE);
    }
 
Example 2
Source File: PullToRefreshListView.java    From letv with Apache License 2.0 5 votes vote down vote up
protected void setRefreshingInternal(boolean doScroll) {
    ListAdapter adapter = ((ListView) this.mRefreshableView).getAdapter();
    if (adapter == null || adapter.isEmpty()) {
        super.setRefreshingInternal(doScroll);
        return;
    }
    PullToRefreshHeaderView originalLoadingLayout;
    PullToRefreshHeaderView listViewLoadingLayout;
    int selection;
    int scrollToY;
    super.setRefreshingInternal(false);
    switch (getCurrentMode()) {
        case 2:
            originalLoadingLayout = getFooterLayout();
            listViewLoadingLayout = this.mFooterLoadingView;
            selection = ((ListView) this.mRefreshableView).getCount() - 1;
            scrollToY = getScrollY() - getHeaderHeight();
            break;
        default:
            originalLoadingLayout = getHeaderLayout();
            listViewLoadingLayout = this.mHeaderLoadingView;
            selection = 0;
            scrollToY = getScrollY() + getHeaderHeight();
            break;
    }
    if (doScroll) {
        setHeaderScroll(scrollToY);
    }
    originalLoadingLayout.setVisibility(4);
    listViewLoadingLayout.setVisibility(0);
    listViewLoadingLayout.setParams(this.objs);
    listViewLoadingLayout.refreshing();
    if (doScroll) {
        ((ListView) this.mRefreshableView).setSelection(selection);
        smoothScrollTo(0);
    }
}
 
Example 3
Source File: PullToRefreshExpandableListView.java    From letv with Apache License 2.0 5 votes vote down vote up
protected void setRefreshingInternal(boolean doScroll) {
    ListAdapter adapter = ((ExpandableListView) this.mRefreshableView).getAdapter();
    if (adapter == null || adapter.isEmpty()) {
        super.setRefreshingInternal(doScroll);
        return;
    }
    PullToRefreshHeaderView originalLoadingLayout;
    PullToRefreshHeaderView listViewLoadingLayout;
    int selection;
    int scrollToY;
    super.setRefreshingInternal(false);
    switch (getCurrentMode()) {
        case 2:
            originalLoadingLayout = getFooterLayout();
            listViewLoadingLayout = this.mFooterLoadingView;
            selection = ((ExpandableListView) this.mRefreshableView).getCount() - 1;
            scrollToY = getScrollY() - getHeaderHeight();
            break;
        default:
            originalLoadingLayout = getHeaderLayout();
            listViewLoadingLayout = this.mHeaderLoadingView;
            selection = 0;
            scrollToY = getScrollY() + getHeaderHeight();
            break;
    }
    if (doScroll) {
        setHeaderScroll(scrollToY);
    }
    originalLoadingLayout.setVisibility(4);
    listViewLoadingLayout.setParams(this.objs);
    listViewLoadingLayout.setVisibility(0);
    listViewLoadingLayout.refreshing();
    if (doScroll) {
        ((ExpandableListView) this.mRefreshableView).setSelection(selection);
        smoothScrollTo(0);
    }
}
 
Example 4
Source File: PullToRefreshExpandableListView.java    From letv with Apache License 2.0 5 votes vote down vote up
protected void resetHeader(boolean immediately) {
    ListAdapter adapter = ((ExpandableListView) this.mRefreshableView).getAdapter();
    if (adapter == null || adapter.isEmpty()) {
        super.resetHeader(immediately);
        return;
    }
    PullToRefreshHeaderView originalLoadingLayout;
    PullToRefreshHeaderView listViewLoadingLayout;
    boolean doScroll;
    int scrollToHeight = getHeaderHeight();
    switch (getCurrentMode()) {
        case 2:
            originalLoadingLayout = getFooterLayout();
            listViewLoadingLayout = this.mFooterLoadingView;
            doScroll = isReadyForPullUp();
            break;
        default:
            originalLoadingLayout = getHeaderLayout();
            listViewLoadingLayout = this.mHeaderLoadingView;
            scrollToHeight *= -1;
            doScroll = isReadyForPullDown();
            break;
    }
    originalLoadingLayout.setVisibility(0);
    if (doScroll) {
        setHeaderScroll(scrollToHeight);
    }
    listViewLoadingLayout.setVisibility(8);
    super.resetHeader(immediately);
}
 
Example 5
Source File: LoadMoreHelper.java    From Qiitanium with MIT License 5 votes vote down vote up
public boolean onNext(int currentItemCount, int totalItemCount) {

    final ListAdapter adapter = listView.getAdapter();
    if (adapter == null || adapter.isEmpty()) {
      return false;
    }

    return ((totalItemCount - currentItemCount) <= leftoverCount);
  }
 
Example 6
Source File: NestedListView.java    From Travel-Mate with MIT License 5 votes vote down vote up
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    super.onMeasure(widthMeasureSpec, heightMeasureSpec);

    int newHeight = 0;
    final int heightMode = MeasureSpec.getMode(heightMeasureSpec);
    int heightSize = MeasureSpec.getSize(heightMeasureSpec);
    if (heightMode != MeasureSpec.EXACTLY) {
        ListAdapter listAdapter = getAdapter();
        if (listAdapter != null && !listAdapter.isEmpty()) {
            int listPosition;
            for (listPosition = 0; listPosition < listAdapter.getCount()
                    && listPosition < MAXIMUM_LIST_ITEMS_VIEWABLE; listPosition++) {
                View listItem = listAdapter.getView(listPosition, null, this);
                //now it will not throw a NPE if listItem is a ViewGroup instance
                if (listItem instanceof ViewGroup) {
                    listItem.setLayoutParams(
                            new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
                                    ViewGroup.LayoutParams.WRAP_CONTENT));
                }
                listItem.measure(widthMeasureSpec, heightMeasureSpec);
                newHeight += listItem.getMeasuredHeight();
            }
            newHeight += getDividerHeight() * listPosition;
        }
        if ((heightMode == MeasureSpec.AT_MOST) && (newHeight > heightSize)) {
            newHeight = heightSize;
        }
    } else {
        newHeight = getMeasuredHeight();
    }
    setMeasuredDimension(getMeasuredWidth(), newHeight);
}
 
Example 7
Source File: PinnedSectionRefreshListView.java    From BigApp_Discuz_Android with Apache License 2.0 5 votes vote down vote up
public boolean isEmpty() {
    ListView listView = getRefreshableView();
    if (listView == null) {
        return true;
    }
    ListAdapter adapter = listView.getAdapter();
    if (adapter == null) {
        return true;
    }
    return adapter.isEmpty();
}
 
Example 8
Source File: PullToRefreshListView.java    From iSCAU-Android with GNU General Public License v3.0 4 votes vote down vote up
@Override
protected void onRefreshing(final boolean doScroll) {
	/**
	 * If we're not showing the Refreshing view, or the list is empty, the
	 * the header/footer views won't show so we use the normal method.
	 */
	ListAdapter adapter = mRefreshableView.getAdapter();
	if (!mListViewExtrasEnabled || !getShowViewWhileRefreshing() || null == adapter || adapter.isEmpty()) {
		super.onRefreshing(doScroll);
		return;
	}

	super.onRefreshing(false);

	final LoadingLayout origLoadingView, listViewLoadingView, oppositeListViewLoadingView;
	final int selection, scrollToY;

	switch (getCurrentMode()) {
		case MANUAL_REFRESH_ONLY:
		case PULL_FROM_END:
			origLoadingView = getFooterLayout();
			listViewLoadingView = mFooterLoadingView;
			oppositeListViewLoadingView = mHeaderLoadingView;
			selection = mRefreshableView.getCount() - 1;
			scrollToY = getScrollY() - getFooterSize();
			break;
		case PULL_FROM_START:
		default:
			origLoadingView = getHeaderLayout();
			listViewLoadingView = mHeaderLoadingView;
			oppositeListViewLoadingView = mFooterLoadingView;
			selection = 0;
			scrollToY = getScrollY() + getHeaderSize();
			break;
	}

	// Hide our original Loading View
	origLoadingView.reset();
	origLoadingView.hideAllViews();

	// Make sure the opposite end is hidden too
	oppositeListViewLoadingView.setVisibility(View.GONE);

	// Show the ListView Loading View and set it to refresh.
	listViewLoadingView.setVisibility(View.VISIBLE);
	listViewLoadingView.refreshing();

	if (doScroll) {
		// We need to disable the automatic visibility changes for now
		disableLoadingLayoutVisibilityChanges();

		// We scroll slightly so that the ListView's header/footer is at the
		// same Y position as our normal header/footer
		setHeaderScroll(scrollToY);

		// Make sure the ListView is scrolled to show the loading
		// header/footer
		mRefreshableView.setSelection(selection);

		// Smooth scroll as normal
		smoothScrollTo(0);
	}
}
 
Example 9
Source File: PullToRefreshListView.java    From Alibaba-Android-Certification with MIT License 4 votes vote down vote up
@Override
protected void onRefreshing(final boolean doScroll) {
	/**
	 * If we're not showing the Refreshing view, or the list is empty, the
	 * the header/footer views won't show so we use the normal method.
	 */
	ListAdapter adapter = mRefreshableView.getAdapter();
	if (!mListViewExtrasEnabled || !getShowViewWhileRefreshing() || null == adapter || adapter.isEmpty()) {
		super.onRefreshing(doScroll);
		return;
	}

	super.onRefreshing(false);

	final LoadingLayout origLoadingView, listViewLoadingView, oppositeListViewLoadingView;
	final int selection, scrollToY;

	switch (getCurrentMode()) {
		case MANUAL_REFRESH_ONLY:
		case PULL_FROM_END:
			origLoadingView = getFooterLayout();
			listViewLoadingView = mFooterLoadingView;
			oppositeListViewLoadingView = mHeaderLoadingView;
			selection = mRefreshableView.getCount() - 1;
			scrollToY = getScrollY() - getFooterSize();
			
			break;
		case PULL_FROM_START:
		default:
			origLoadingView = getHeaderLayout();
			listViewLoadingView = mHeaderLoadingView;
			oppositeListViewLoadingView = mFooterLoadingView;
			selection = 0;
			scrollToY = getScrollY() + getHeaderSize();
			break;
	}

	// Hide our original Loading View
	origLoadingView.reset();
	origLoadingView.hideAllViews();

	// Make sure the opposite end is hidden too
	oppositeListViewLoadingView.setVisibility(View.GONE);

	// Show the ListView Loading View and set it to refresh.
	listViewLoadingView.setVisibility(View.VISIBLE);
	listViewLoadingView.refreshing();

	if (doScroll) {
		// We need to disable the automatic visibility changes for now
		disableLoadingLayoutVisibilityChanges();

		// We scroll slightly so that the ListView's header/footer is at the
		// same Y position as our normal header/footer
		setHeaderScroll(scrollToY);

		// Make sure the ListView is scrolled to show the loading
		// header/footer
		mRefreshableView.setSelection(selection);

		// Smooth scroll as normal
		smoothScrollTo(0);
	}
}
 
Example 10
Source File: PullToRefreshListView.java    From handmarkPulltorefreshLibrary with Apache License 2.0 4 votes vote down vote up
@Override
protected void onRefreshing(final boolean doScroll) {
	/**
	 * If we're not showing the Refreshing view, or the list is empty, the
	 * the header/footer views won't show so we use the normal method.
	 */
	ListAdapter adapter = mRefreshableView.getAdapter();
	if (!mListViewExtrasEnabled || !getShowViewWhileRefreshing() || null == adapter || adapter.isEmpty()) {
		super.onRefreshing(doScroll);
		return;
	}

	super.onRefreshing(false);

	final LoadingLayout origLoadingView, listViewLoadingView, oppositeListViewLoadingView;
	final int selection, scrollToY;

	switch (getCurrentMode()) {
		case MANUAL_REFRESH_ONLY:
		case PULL_FROM_END:
			origLoadingView = getFooterLayout();
			listViewLoadingView = mFooterLoadingView;
			oppositeListViewLoadingView = mHeaderLoadingView;
			selection = mRefreshableView.getCount() - 1;
			scrollToY = getScrollY() - getFooterSize();
			break;
		case PULL_FROM_START:
		default:
			origLoadingView = getHeaderLayout();
			listViewLoadingView = mHeaderLoadingView;
			oppositeListViewLoadingView = mFooterLoadingView;
			selection = 0;
			scrollToY = getScrollY() + getHeaderSize();
			break;
	}

	// Hide our original Loading View
	origLoadingView.reset();
	origLoadingView.hideAllViews();

	// Make sure the opposite end is hidden too
	oppositeListViewLoadingView.setVisibility(View.GONE);

	// Show the ListView Loading View and set it to refresh.
	listViewLoadingView.setVisibility(View.VISIBLE);
	listViewLoadingView.refreshing();

	if (doScroll) {
		// We need to disable the automatic visibility changes for now
		disableLoadingLayoutVisibilityChanges();

		// We scroll slightly so that the ListView's header/footer is at the
		// same Y position as our normal header/footer
		setHeaderScroll(scrollToY);

		// Make sure the ListView is scrolled to show the loading
		// header/footer
		mRefreshableView.setSelection(selection);

		// Smooth scroll as normal
		smoothScrollTo(0);
	}
}
 
Example 11
Source File: PullToRefreshListView.java    From AndroidBase with Apache License 2.0 4 votes vote down vote up
@Override
protected void onRefreshing(final boolean doScroll) {
	/**
	 * If we're not showing the Refreshing view, or the list is empty, the
	 * the header/footer views won't show so we use the normal method.
	 */
	ListAdapter adapter = mRefreshableView.getAdapter();
	if (!mListViewExtrasEnabled || !getShowViewWhileRefreshing() || null == adapter || adapter.isEmpty()) {
		super.onRefreshing(doScroll);
		return;
	}

	super.onRefreshing(false);

	final LoadingLayout origLoadingView, listViewLoadingView, oppositeListViewLoadingView;
	final int selection, scrollToY;

	switch (getCurrentMode()) {
		case MANUAL_REFRESH_ONLY:
		case PULL_FROM_END:
			origLoadingView = getFooterLayout();
			listViewLoadingView = mFooterLoadingView;
			oppositeListViewLoadingView = mHeaderLoadingView;
			selection = mRefreshableView.getCount() - 1;
			scrollToY = getScrollY() - getFooterSize();
			break;
		case PULL_FROM_START:
		default:
			origLoadingView = getHeaderLayout();
			listViewLoadingView = mHeaderLoadingView;
			oppositeListViewLoadingView = mFooterLoadingView;
			selection = 0;
			scrollToY = getScrollY() + getHeaderSize();
			break;
	}

	// Hide our original Loading View
	origLoadingView.reset();
	origLoadingView.hideAllViews();

	// Make sure the opposite end is hidden too
	oppositeListViewLoadingView.setVisibility(GONE);

	// Show the ListView Loading View and set it to refresh.
	listViewLoadingView.setVisibility(VISIBLE);
	listViewLoadingView.refreshing();

	if (doScroll) {
		// We need to disable the automatic visibility changes for now
		disableLoadingLayoutVisibilityChanges();

		// We scroll slightly so that the ListView's header/footer is at the
		// same Y position as our normal header/footer
		setHeaderScroll(scrollToY);

		// Make sure the ListView is scrolled to show the loading
		// header/footer
		mRefreshableView.setSelection(selection);

		// Smooth scroll as normal
		smoothScrollTo(0);
	}
}
 
Example 12
Source File: PullToRefreshListView.java    From BigApp_WordPress_Android with Apache License 2.0 4 votes vote down vote up
@Override
protected void onRefreshing(final boolean doScroll)
{
    /**
     * If we're not showing the Refreshing view, or the list is empty, the
     * the header/footer views won't show so we use the normal method.
     */
    ListAdapter adapter = mRefreshableView.getAdapter();
    if (!mListViewExtrasEnabled || !getShowViewWhileRefreshing()
            || null == adapter || adapter.isEmpty())
    {
        super.onRefreshing(doScroll);
        return;
    }

    super.onRefreshing(false);

    final LoadingLayout origLoadingView, listViewLoadingView, oppositeListViewLoadingView;
    final int selection, scrollToY;

    switch (getCurrentMode())
    {
        case MANUAL_REFRESH_ONLY:
        case PULL_FROM_END:
            origLoadingView = getFooterLayout();
            listViewLoadingView = mFooterLoadingView;
            oppositeListViewLoadingView = mHeaderLoadingView;
            selection = mRefreshableView.getCount() - 1;
            scrollToY = getScrollY() - getFooterSize();
            break;
        case PULL_FROM_START:
        default:
            origLoadingView = getHeaderLayout();
            listViewLoadingView = mHeaderLoadingView;
            oppositeListViewLoadingView = mFooterLoadingView;
            selection = 0;
            scrollToY = getScrollY() + getHeaderSize();
            break;
    }

    // Hide our original Loading View
    origLoadingView.reset();
    origLoadingView.hideAllViews();

    // Make sure the opposite end is hidden too
    oppositeListViewLoadingView.setVisibility(GONE);

    // Show the ListView Loading View and set it to refresh.
    listViewLoadingView.setVisibility(VISIBLE);
    listViewLoadingView.refreshing();

    if (doScroll)
    {
        // We need to disable the automatic visibility changes for now
        disableLoadingLayoutVisibilityChanges();

        // We scroll slightly so that the ListView's header/footer is at the
        // same Y position as our normal header/footer
        setHeaderScroll(scrollToY);

        // Make sure the ListView is scrolled to show the loading
        // header/footer
        mRefreshableView.setSelection(selection);

        // Smooth scroll as normal
        smoothScrollTo(0);
    }
}
 
Example 13
Source File: PullToRefreshListView.java    From PullToRefresh-PinnedSection-ListView with MIT License 4 votes vote down vote up
@Override
protected void onRefreshing(final boolean doScroll) {
	/**
	 * If we're not showing the Refreshing view, or the list is empty, the
	 * the header/footer views won't show so we use the normal method.
	 */
	ListAdapter adapter = mRefreshableView.getAdapter();
	if (!mListViewExtrasEnabled || !getShowViewWhileRefreshing() || null == adapter || adapter.isEmpty()) {
		super.onRefreshing(doScroll);
		return;
	}

	super.onRefreshing(false);

	final LoadingLayout origLoadingView, listViewLoadingView, oppositeListViewLoadingView;
	final int selection, scrollToY;

	switch (getCurrentMode()) {
		case MANUAL_REFRESH_ONLY:
		case PULL_FROM_END:
			origLoadingView = getFooterLayout();
			listViewLoadingView = mFooterLoadingView;
			oppositeListViewLoadingView = mHeaderLoadingView;
			selection = mRefreshableView.getCount() - 1;
			scrollToY = getScrollY() - getFooterSize();
			break;
		case PULL_FROM_START:
		default:
			origLoadingView = getHeaderLayout();
			listViewLoadingView = mHeaderLoadingView;
			oppositeListViewLoadingView = mFooterLoadingView;
			selection = 0;
			scrollToY = getScrollY() + getHeaderSize();
			break;
	}

	// Hide our original Loading View
	origLoadingView.reset();
	origLoadingView.hideAllViews();

	// Make sure the opposite end is hidden too
	oppositeListViewLoadingView.setVisibility(View.GONE);

	// Show the ListView Loading View and set it to refresh.
	listViewLoadingView.setVisibility(View.VISIBLE);
	listViewLoadingView.refreshing();

	if (doScroll) {
		// We need to disable the automatic visibility changes for now
		disableLoadingLayoutVisibilityChanges();

		// We scroll slightly so that the ListView's header/footer is at the
		// same Y position as our normal header/footer
		setHeaderScroll(scrollToY);

		// Make sure the ListView is scrolled to show the loading
		// header/footer
		mRefreshableView.setSelection(selection);

		// Smooth scroll as normal
		smoothScrollTo(0);
	}
}
 
Example 14
Source File: PullToRefreshListView.java    From BigApp_Discuz_Android with Apache License 2.0 4 votes vote down vote up
@Override
protected void onRefreshing(final boolean doScroll) {
	/**
	 * If we're not showing the Refreshing view, or the list is empty, the
	 * the header/footer views won't show so we use the normal method.
	 */
	ListAdapter adapter = mRefreshableView.getAdapter();
	if (!mListViewExtrasEnabled || !getShowViewWhileRefreshing() || null == adapter || adapter.isEmpty()) {
		super.onRefreshing(doScroll);
		return;
	}

	super.onRefreshing(false);

	final LoadingLayout origLoadingView, listViewLoadingView, oppositeListViewLoadingView;
	final int selection, scrollToY;

	switch (getCurrentMode()) {
		case MANUAL_REFRESH_ONLY:
		case PULL_FROM_END:
			origLoadingView = getFooterLayout();
			listViewLoadingView = mFooterLoadingView;
			oppositeListViewLoadingView = mHeaderLoadingView;
			selection = mRefreshableView.getCount() - 1;
			scrollToY = getScrollY() - getFooterSize();
			break;
		case PULL_FROM_START:
		default:
			origLoadingView = getHeaderLayout();
			listViewLoadingView = mHeaderLoadingView;
			oppositeListViewLoadingView = mFooterLoadingView;
			selection = 0;
			scrollToY = getScrollY() + getHeaderSize();
			break;
	}

	// Hide our original Loading View
	origLoadingView.reset();
	origLoadingView.hideAllViews();

	// Make sure the opposite end is hidden too
	oppositeListViewLoadingView.setVisibility(View.GONE);

	// Show the ListView Loading View and set it to refresh.
	listViewLoadingView.setVisibility(View.VISIBLE);
	listViewLoadingView.refreshing();

	if (doScroll) {
		// We need to disable the automatic visibility changes for now
		disableLoadingLayoutVisibilityChanges();

		// We scroll slightly so that the ListView's header/footer is at the
		// same Y position as our normal header/footer
		setHeaderScroll(scrollToY);

		// Make sure the ListView is scrolled to show the loading
		// header/footer
		mRefreshableView.setSelection(selection);

		// Smooth scroll as normal
		smoothScrollTo(0);
	}
}
 
Example 15
Source File: PullToRefreshListView.java    From ONE-Unofficial with Apache License 2.0 4 votes vote down vote up
@Override
protected void onRefreshing(final boolean doScroll) {
	/**
	 * If we're not showing the Refreshing view, or the list is empty, the
	 * the header/footer views won't show so we use the normal method.
	 */
	ListAdapter adapter = mRefreshableView.getAdapter();
	if (!mListViewExtrasEnabled || !getShowViewWhileRefreshing() || null == adapter || adapter.isEmpty()) {
		super.onRefreshing(doScroll);
		return;
	}

	super.onRefreshing(false);

	final LoadingLayout origLoadingView, listViewLoadingView, oppositeListViewLoadingView;
	final int selection, scrollToY;

	switch (getCurrentMode()) {
		case MANUAL_REFRESH_ONLY:
		case PULL_FROM_END:
			origLoadingView = getFooterLayout();
			listViewLoadingView = mFooterLoadingView;
			oppositeListViewLoadingView = mHeaderLoadingView;
			selection = mRefreshableView.getCount() - 1;
			scrollToY = getScrollY() - getFooterSize();
			break;
		case PULL_FROM_START:
		default:
			origLoadingView = getHeaderLayout();
			listViewLoadingView = mHeaderLoadingView;
			oppositeListViewLoadingView = mFooterLoadingView;
			selection = 0;
			scrollToY = getScrollY() + getHeaderSize();
			break;
	}

	// Hide our original Loading View
	origLoadingView.reset();
	origLoadingView.hideAllViews();

	// Make sure the opposite end is hidden too
	oppositeListViewLoadingView.setVisibility(View.GONE);

	// Show the ListView Loading View and set it to refresh.
	listViewLoadingView.setVisibility(View.VISIBLE);
	listViewLoadingView.refreshing();

	if (doScroll) {
		// We need to disable the automatic visibility changes for now
		disableLoadingLayoutVisibilityChanges();

		// We scroll slightly so that the ListView's header/footer is at the
		// same Y position as our normal header/footer
		setHeaderScroll(scrollToY);

		// Make sure the ListView is scrolled to show the loading
		// header/footer
		mRefreshableView.setSelection(selection);

		// Smooth scroll as normal
		smoothScrollTo(0);
	}
}
 
Example 16
Source File: PullToRefreshListView.java    From android-project-wo2b with Apache License 2.0 4 votes vote down vote up
@Override
protected void onRefreshing(final boolean doScroll) {
	/**
	 * If we're not showing the Refreshing view, or the list is empty, the
	 * the header/footer views won't show so we use the normal method.
	 */
	ListAdapter adapter = mRefreshableView.getAdapter();
	if (!mListViewExtrasEnabled || !getShowViewWhileRefreshing() || null == adapter || adapter.isEmpty()) {
		super.onRefreshing(doScroll);
		return;
	}

	super.onRefreshing(false);

	final LoadingLayout origLoadingView, listViewLoadingView, oppositeListViewLoadingView;
	final int selection, scrollToY;

	switch (getCurrentMode()) {
		case MANUAL_REFRESH_ONLY:
		case PULL_FROM_END:
			origLoadingView = getFooterLayout();
			listViewLoadingView = mFooterLoadingView;
			oppositeListViewLoadingView = mHeaderLoadingView;
			selection = mRefreshableView.getCount() - 1;
			scrollToY = getScrollY() - getFooterSize();
			break;
		case PULL_FROM_START:
		default:
			origLoadingView = getHeaderLayout();
			listViewLoadingView = mHeaderLoadingView;
			oppositeListViewLoadingView = mFooterLoadingView;
			selection = 0;
			scrollToY = getScrollY() + getHeaderSize();
			break;
	}

	// Hide our original Loading View
	origLoadingView.reset();
	origLoadingView.hideAllViews();

	// Make sure the opposite end is hidden too
	oppositeListViewLoadingView.setVisibility(View.GONE);

	// Show the ListView Loading View and set it to refresh.
	listViewLoadingView.setVisibility(View.VISIBLE);
	listViewLoadingView.refreshing();

	if (doScroll) {
		// We need to disable the automatic visibility changes for now
		disableLoadingLayoutVisibilityChanges();

		// We scroll slightly so that the ListView's header/footer is at the
		// same Y position as our normal header/footer
		setHeaderScroll(scrollToY);

		// Make sure the ListView is scrolled to show the loading
		// header/footer
		mRefreshableView.setSelection(selection);

		// Smooth scroll as normal
		smoothScrollTo(0);
	}
}
 
Example 17
Source File: PullToRefreshSwipeListView.java    From SwipeMenuAndRefresh with Apache License 2.0 4 votes vote down vote up
@Override
protected void onRefreshing(final boolean doScroll) {
    SwipeMenuListView listView = getRefreshableView();
    listView.smoothCloseMenu();
    /**
     * If we're not showing the Refreshing view, or the list is empty, the
     * the header/footer views won't show so we use the normal method.
     */
    ListAdapter adapter = mRefreshableView.getAdapter();
    if (!mListViewExtrasEnabled || !getShowViewWhileRefreshing() || null == adapter || adapter.isEmpty()) {
        super.onRefreshing(doScroll);
        return;
    }

    super.onRefreshing(false);

    final LoadingLayout origLoadingView, listViewLoadingView, oppositeListViewLoadingView;
    final int selection, scrollToY;

    switch (getCurrentMode()) {
        case MANUAL_REFRESH_ONLY:
        case PULL_FROM_END:
            origLoadingView = getFooterLayout();
            listViewLoadingView = mFooterLoadingView;
            oppositeListViewLoadingView = mHeaderLoadingView;
            selection = mRefreshableView.getCount() - 1;
            scrollToY = getScrollY() - getFooterSize();
            break;
        case PULL_FROM_START:
        default:
            origLoadingView = getHeaderLayout();
            listViewLoadingView = mHeaderLoadingView;
            oppositeListViewLoadingView = mFooterLoadingView;
            selection = 0;
            scrollToY = getScrollY() + getHeaderSize();
            break;
    }

    // Hide our original Loading View
    origLoadingView.reset();
    origLoadingView.hideAllViews();

    // Make sure the opposite end is hidden too
    oppositeListViewLoadingView.setVisibility(View.GONE);

    // Show the ListView Loading View and set it to refresh.
    listViewLoadingView.setVisibility(View.VISIBLE);
    listViewLoadingView.refreshing();

    if (doScroll) {
        // We need to disable the automatic visibility changes for now
        disableLoadingLayoutVisibilityChanges();

        // We scroll slightly so that the ListView's header/footer is at the
        // same Y position as our normal header/footer
        setHeaderScroll(scrollToY);

        // Make sure the ListView is scrolled to show the loading
        // header/footer
        mRefreshableView.setSelection(selection);

        // Smooth scroll as normal
        smoothScrollTo(0);
    }
}
 
Example 18
Source File: PullToRefreshListView.java    From SweetMusicPlayer with Apache License 2.0 4 votes vote down vote up
@Override
protected void onRefreshing(final boolean doScroll) {
	/**
	 * If we're not showing the Refreshing view, or the list is empty, the
	 * the header/footer views won't show so we use the normal method.
	 */
	ListAdapter adapter = mRefreshableView.getAdapter();
	if (!mListViewExtrasEnabled || !getShowViewWhileRefreshing() || null == adapter || adapter.isEmpty()) {
		super.onRefreshing(doScroll);
		return;
	}

	super.onRefreshing(false);

	final LoadingLayout origLoadingView, listViewLoadingView, oppositeListViewLoadingView;
	final int selection, scrollToY;

	switch (getCurrentMode()) {
		case MANUAL_REFRESH_ONLY:
		case PULL_FROM_END:
			origLoadingView = getFooterLayout();
			listViewLoadingView = mFooterLoadingView;
			oppositeListViewLoadingView = mHeaderLoadingView;
			selection = mRefreshableView.getCount() - 1;
			scrollToY = getScrollY() - getFooterSize();
			break;
		case PULL_FROM_START:
		default:
			origLoadingView = getHeaderLayout();
			listViewLoadingView = mHeaderLoadingView;
			oppositeListViewLoadingView = mFooterLoadingView;
			selection = 0;
			scrollToY = getScrollY() + getHeaderSize();
			break;
	}

	// Hide our original Loading View
	origLoadingView.reset();
	origLoadingView.hideAllViews();

	// Make sure the opposite end is hidden too
	oppositeListViewLoadingView.setVisibility(View.GONE);

	// Show the ListView Loading View and set it to refresh.
	listViewLoadingView.setVisibility(View.VISIBLE);
	listViewLoadingView.refreshing();

	if (doScroll) {
		// We need to disable the automatic visibility changes for now
		disableLoadingLayoutVisibilityChanges();

		// We scroll slightly so that the ListView's header/footer is at the
		// same Y position as our normal header/footer
		setHeaderScroll(scrollToY);

		// Make sure the ListView is scrolled to show the loading
		// header/footer
		mRefreshableView.setSelection(selection);

		// Smooth scroll as normal
		smoothScrollTo(0);
	}
}
 
Example 19
Source File: PullToRefreshListView.java    From Favorite-Android-Client with Apache License 2.0 4 votes vote down vote up
@Override
protected void onRefreshing(final boolean doScroll) {
	/**
	 * If we're not showing the Refreshing view, or the list is empty, the
	 * the header/footer views won't show so we use the normal method.
	 */
	ListAdapter adapter = mRefreshableView.getAdapter();
	if (!mListViewExtrasEnabled || !getShowViewWhileRefreshing() || null == adapter || adapter.isEmpty()) {
		super.onRefreshing(doScroll);
		return;
	}

	super.onRefreshing(false);

	final LoadingLayout origLoadingView, listViewLoadingView, oppositeListViewLoadingView;
	final int selection, scrollToY;

	switch (getCurrentMode()) {
		case MANUAL_REFRESH_ONLY:
		case PULL_FROM_END:
			origLoadingView = getFooterLayout();
			listViewLoadingView = mFooterLoadingView;
			oppositeListViewLoadingView = mHeaderLoadingView;
			selection = mRefreshableView.getCount() - 1;
			scrollToY = getScrollY() - getFooterSize();
			break;
		case PULL_FROM_START:
		default:
			origLoadingView = getHeaderLayout();
			listViewLoadingView = mHeaderLoadingView;
			oppositeListViewLoadingView = mFooterLoadingView;
			selection = 0;
			scrollToY = getScrollY() + getHeaderSize();
			break;
	}

	// Hide our original Loading View
	origLoadingView.reset();
	origLoadingView.hideAllViews();

	// Make sure the opposite end is hidden too
	oppositeListViewLoadingView.setVisibility(View.GONE);

	// Show the ListView Loading View and set it to refresh.
	listViewLoadingView.setVisibility(View.VISIBLE);
	listViewLoadingView.refreshing();

	if (doScroll) {
		// We need to disable the automatic visibility changes for now
		disableLoadingLayoutVisibilityChanges();

		// We scroll slightly so that the ListView's header/footer is at the
		// same Y position as our normal header/footer
		setHeaderScroll(scrollToY);

		// Make sure the ListView is scrolled to show the loading
		// header/footer
		mRefreshableView.setSelection(selection);

		// Smooth scroll as normal
		smoothScrollTo(0);
	}
}
 
Example 20
Source File: PullToRefreshListView.java    From zen4android with MIT License 4 votes vote down vote up
@Override
protected void onRefreshing(final boolean doScroll) {
	/**
	 * If we're not showing the Refreshing view, or the list is empty, the
	 * the header/footer views won't show so we use the normal method.
	 */
	ListAdapter adapter = mRefreshableView.getAdapter();
	if (!mListViewExtrasEnabled || !getShowViewWhileRefreshing() || null == adapter || adapter.isEmpty()) {
		super.onRefreshing(doScroll);
		return;
	}

	super.onRefreshing(false);

	final LoadingLayout origLoadingView, listViewLoadingView, oppositeListViewLoadingView;
	final int selection, scrollToY;

	switch (getCurrentMode()) {
		case MANUAL_REFRESH_ONLY:
		case PULL_FROM_END:
			origLoadingView = getFooterLayout();
			listViewLoadingView = mFooterLoadingView;
			oppositeListViewLoadingView = mHeaderLoadingView;
			selection = mRefreshableView.getCount() - 1;
			scrollToY = getScrollY() - getFooterSize();
			break;
		case PULL_FROM_START:
		default:
			origLoadingView = getHeaderLayout();
			listViewLoadingView = mHeaderLoadingView;
			oppositeListViewLoadingView = mFooterLoadingView;
			selection = 0;
			scrollToY = getScrollY() + getHeaderSize();
			break;
	}

	// Hide our original Loading View
	origLoadingView.reset();
	origLoadingView.hideAllViews();

	// Make sure the opposite end is hidden too
	oppositeListViewLoadingView.setVisibility(View.GONE);

	// Show the ListView Loading View and set it to refresh.
	listViewLoadingView.setVisibility(View.VISIBLE);
	listViewLoadingView.refreshing();

	if (doScroll) {
		// We need to disable the automatic visibility changes for now
		disableLoadingLayoutVisibilityChanges();

		// We scroll slightly so that the ListView's header/footer is at the
		// same Y position as our normal header/footer
		setHeaderScroll(scrollToY);

		// Make sure the ListView is scrolled to show the loading
		// header/footer
		mRefreshableView.setSelection(selection);

		// Smooth scroll as normal
		smoothScrollTo(0);
	}
}