当前位置: 首页 > 知识库问答 >
问题:

android-如果只在向下滚动时循环视图,如何运行任务

花品
2023-03-14

我有一个recycle视图,我想在用户到达recycleview的末尾时运行asynTask。这是我的代码:

recycle.addOnScrollListener(new RecyclerView.OnScrollListener() {
        @Override
        public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
            super.onScrolled(recyclerView, dx, dy);

            visibleItemCount = recycle.getChildCount();
            totalItemCount = mLayoutManager.getItemCount();
            firstVisibleItem = mLayoutManager.findFirstVisibleItemPosition();

            if (loadmore) {
                if (totalItemCount > previousTotal) {
                    loadmore = false;
                    previousTotal = totalItemCount;
                }
            }
            if (!loadmore && (totalItemCount - visibleItemCount)
                    <= (firstVisibleItem + visibleThreshold)) {
                if(taskrunning!=null && taskrunning==false){
                    loadmore = false;
                    page = page + 1;
                    new AsyncHttpTask().execute(url);
                }

            }
        }
    });

共有1个答案

符功
2023-03-14

loadmore设置为true。

recycle.addOnScrollListener(new RecyclerView.OnScrollListener() {
    @Override
    public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
        super.onScrolled(recyclerView, dx, dy);

        visibleItemCount = recycle.getChildCount();
        totalItemCount = mLayoutManager.getItemCount();
        firstVisibleItem = mLayoutManager.findFirstVisibleItemPosition();

        if (loadmore) {
            if (totalItemCount > previousTotal) {
                loadmore = false;
                previousTotal = totalItemCount;
            }
        }
        if (!loadmore && (totalItemCount - visibleItemCount) <= (firstVisibleItem + visibleThreshold)) {
            if(taskrunning!=null && taskrunning==false){
                loadmore = true; // SET TO TRUE HERE!
                page = page + 1;
                new AsyncHttpTask().execute(url);
            }
        }
    }
});

并在AsyncTaskOnPostExecute部分中设置LoadMore=false

 类似资料:
  • 实现循环ScrollView。有以下特色: 1、循环的scrollview 2、类似于tableview的编程方式 3、可定制化的内容 4、灵活运用可用于移步加载图片 5、结构化,可扩展性高 [Code4App.com]

  • 我有一个水平ScrollView,它有两个元素:CardView和水平RecycerView。所以,当用户水平滚动时,我希望这两个元素滚动。 我想有这样的东西:Goal,橙色的线是CardView,黄色的线是RecycerView。当用户滚动时,两个元素滚动,如下所示:Scrolled Goal。 现在在我的应用程序中,当用户滚动时,只有RecycerView滚动。CardView保持在他的位置。

  • 我看了很多问题,但列出的解决方案都没有解决我的问题:Scrollview不会滚动到底部的空白处 ScrollView不会滚动到底部 (Android) ScrollView不会一直滚动到我的线性布局的底部 我有一个具有以下布局的应用程序,其中包含ScrollView中的LinearLayout 基本上,这个布局被用于一个片段。在这个片段中,我用查询网站得到的字符串为tvPowers和tvAbili

  • 我有一个问题与自动滚动在滚动视图。 在我的例子中,有两个Recyclerview。第一个循环视图,水平滚动,第二个垂直滚动。第一个循环视图仅用于拖动,第二个循环视图只用于拖放。两个循环视图都在ScrollView中,所以我在第二个循环视图中禁用了垂直滚动。我在第二个Recyclerview的项目中添加了DragListener。每个项目都有一个拖动侦听器,因此我在拖放项目时添加/替换项目。 所以我

  • 我在类似的问题中搜索过,试过几个答案都没有解决..我有显示城市名称和一些数据的水平回收器视图,问题是我在主回收器视图适配器中的每个位置放置了如下图所示的画布条形图或RV图表,为了水平滚动该图表,我将图表放在水平滚动视图中,以便在从右向左滚动该图表时查看长水平方向上的图表数据,反之亦然,但实际上它并不水平滚动,只有主回收器视图水平滚动到 当触摸它时显示城市,当触摸它滚动(冻结)时RV内的图表没有滚动

  • 我的整个代码有点长,但如果有帮助,我可以发布它。 提前道谢。我想尝试使用动作手势,然而,我真的不明白为什么我的方法不能工作这么长时间,我可以调用它在正确的地点。我最初的想法是,每次位置发生变化时,如果条件正确,就在“Object instantiateItem(ViewGroup容器,最终int位置)”中调用它。但我不确定这是否是最好的。