如何使用分页的Horizo​​ntal ListView?

时间:2014-04-17 13:43:56

标签: android pagination horizontallist

是否有这样的库或者我可以合并在一起实现此功能的一组库?

我找到了CW EndlessAdapterHorizontalVariableListView,它们分别是我的要求的答案。

两者之间似乎存在兼容性问题。是否可以将这些功能结合在一起?请建议。

1 个答案:

答案 0 :(得分:0)

我使用sephiroth74's Horizontal ListView

对于Endless ListView,我在其页脚中添加了ProgressBar。这是Endless ListView的代码。

private enum ListViewStatus {
    LOADING_NEXT_PAGE, DOING_NOTHING
}

private void setEndlessListView(HListView hListView, final Data listData) {
    View footer = View.inflate(getContext(), R.layout.endless_list_footer, null);
    footer.setLayoutParams(new AbsHListView.LayoutParams(AbsHListView.LayoutParams.WRAP_CONTENT, mDimensionsFeaturedThumbnail.y));
    hListView.addFooterView(footer);

    hListView.setOnScrollListener(new OnScrollListener() {
        private int mFirstVisibleItem;
        @Override
        public void onScrollStateChanged(AbsHListView view, int scrollState) {
        }
        @Override
        public void onScroll(AbsHListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
            if(visibleItemCount != 0 && firstVisibleItem > mFirstVisibleItem) {
                boolean shouldLoadMore = (firstVisibleItem + visibleItemCount >= totalItemCount) && (mListView.getTag() == ListViewStatus.DOING_NOTHING);
                if(shouldLoadMore) {
                    loadMoreData(listData.getPageNumber()+1);
                }
            }
            mFirstVisibleItem = firstVisibleItem;
        }
    });
}

在初始化ListView并加载数据时,不要忘记写这一行:

mListView.setTag(ListViewStatus.DOING_NOTHING);