【发布时间】:2014-05-14 15:41:41
【问题描述】:
是否有这样的库可以做到这一点,或者我可以合并一组库来实现这个功能?
我找到了 CW 的 EndlessAdapter 和 HorizontalVariableListView,它们分别是我的要求的答案。
两者之间似乎存在兼容性问题。是否可以将这些功能结合在一起?请提出建议。
【问题讨论】:
标签: android pagination horizontallist
是否有这样的库可以做到这一点,或者我可以合并一组库来实现这个功能?
我找到了 CW 的 EndlessAdapter 和 HorizontalVariableListView,它们分别是我的要求的答案。
两者之间似乎存在兼容性问题。是否可以将这些功能结合在一起?请提出建议。
【问题讨论】:
标签: android pagination horizontallist
我用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);
【讨论】: