Android分页GridView/ListView? [关闭]

Posted

技术标签:

【中文标题】Android分页GridView/ListView? [关闭]【英文标题】:Android paging GridView/ListView? [closed] 【发布时间】:2016-03-22 00:44:49 【问题描述】:

我正在寻找一个库或一些帮助我解决一些代码的问题。我需要一个类似于 ViewPager 的 GridView 或 ListView,但在每次滑动时会显示尽可能多的项目。基本上,如果我有 300 个项目,而我一次只能显示 5 个,我希望能够向下滑动并显示 5 个,然后在下一次滑动时显示下一个 5。我确信这是可能的,但我该如何开始呢?

【问题讨论】:

【参考方案1】:

我找到了解决办法:

基本上,我设置了一个普通的 GridView(大约 300 个项目)并在您单击它时以编程方式滚动。我不得不使用 OnItemClick,因为您不能将常规 OnClick 侦听器与 AdapterView(GridView、ListView 等)一起使用

View.OnTouchListener gridDisableScroll = new View.OnTouchListener() 
            @Override
            public boolean onTouch(View view, MotionEvent motionEvent) 
                if(motionEvent.getAction() == MotionEvent.ACTION_MOVE)
                    return true;
                
                return false;
            
        ;
AdapterView.OnItemClickListener gridClickScroll = new AdapterView.OnItemClickListener() 

            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) 
                if(((GridView)adapterView).getLastVisiblePosition()
                         == adapterView.getAdapter().getCount()-1) 
                     //if you're at the bottom, scroll to the top!
                     ((GridView)adapterView).smoothScrollToPosition(0);
                 else 
                    //scroll down the distance of the height of the GridView
                    ((GridView) adapterView).smoothScrollBy(adapterView.getMeasuredHeight(), 700);//700ms
                    //may not be necessary...force draw after scrolling
                    adapterView.invalidate();
                
            
        ; 

【讨论】:

【参考方案2】:

在您的 ListView 中,使用 setOnScrollListener 类设置滚动侦听器。然后,在您的滚动侦听器中,处理方法onScroll

@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) 
    // ...

请注意,您有用于确定用户是否滚动到底部的参数 - 如果是,则加载下一页项目并将它们添加到您的适配器。

【讨论】:

问题是它已经加载了。我希望能够尽可能多地显示用户可以看到的内容,然后向下滚动,它会自动捕捉到另一组项目,直到用户可以看到的内容。现在更有意义了吗?

以上是关于Android分页GridView/ListView? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Android中的分页文本

基于Android官方AsyncListUtil优化经典ListView分页加载机制

基于Android官方Paging Library的RecyclerView分页加载框架

Android分页列表视图

Firebase android分页

分页不适用于交错网格布局android