質問

Is there such a library which does that, or a group of libraries I could merge together to implement this feature?

I've found CW's EndlessAdapter and HorizontalVariableListView, which are answers to my requirements separately.

There seem to be compatibility issues between the two. Is it possible to have these features together? Please suggest.

役に立ちましたか?

解決

I used sephiroth74's Horizontal ListView.

For the Endless ListView, I put a ProgressBar in its footer. This is the code for the 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;
        }
    });
}

Don't forget to write this line upon initializing the ListView and loading the data:

mListView.setTag(ListViewStatus.DOING_NOTHING);
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top