【问题标题】:How do I have a Horizontal ListView with pagination?如何有一个带分页的水平 ListView?
【发布时间】:2014-05-14 15:41:41
【问题描述】:

是否有这样的库可以做到这一点,或者我可以合并一组库来实现这个功能?

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

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

【问题讨论】:

    标签: android pagination horizontallist


    【解决方案1】:

    我用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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-27
      • 2014-12-09
      • 2013-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多