相关疑难解决方法(0)

找出ListView是否滚动到底部?

我可以看看我的ListView是否滚动到底部?我的意思是最后一项是完全可见的.

android listview

102
推荐指数
5
解决办法
8万
查看次数

不推荐使用RecyclerView上的Android setOnScrollListner

setOnScrollListener已弃用.从这里阅读文档,它告诉使用addOnScrollListener(OnScrollListener)removeOnScrollListener(OnScrollListener).

什么是正确的方法add and remove OnScrollListener

我需要使用removeOnScrollListneronPause和再次使用其设置addOnScrollListeneronResume

android onscrolllistener android-recyclerview

70
推荐指数
1
解决办法
3万
查看次数

检测RecyclerView在滚动时何时到达最底部位置

我有一个RecyclerView的代码.

    recyclerView = (RecyclerView)rootview.findViewById(R.id.fabric_recyclerView);
    recyclerView.setLayoutManager(layoutManager);
    recyclerView.addItemDecoration(new RV_Item_Spacing(5));
    FabricAdapter fabricAdapter=new FabricAdapter(ViewAdsCollection.getFabricAdsDetailsAsArray());
    recyclerView.setAdapter(fabricAdapter);
Run Code Online (Sandbox Code Playgroud)

我需要知道RecyclerView在滚动时何时到达最底部位置.可能吗 ?如果有,怎么样?

android scroll android-recyclerview

65
推荐指数
8
解决办法
5万
查看次数

如何在RecyclerView中实现setOnScrollListener

当用户到达列表中可见的项目时,如何在底部显示进度条.

我编写了一个代码,我使用Web服务获取数据,现在我想填充部分记录,因为我的JSON中有大约630条记录.

这是我用来从JSON获取数据并填充到RecyclerView中的整个代码.

以下是我的JSON外观,但真正的JSON包含600多条记录:

 http://walldroidhd.com/api.php
Run Code Online (Sandbox Code Playgroud)

有人可以指导我在我的代码中进行更改吗?

我希望每当用户使用进度条滚动到底部时填充更多记录,我仍然显示所有记录.

RecyclerViewFragment.java:

public class RecyclerViewFragment extends Fragment {

    RecyclerView mRecyclerView;
    LinearLayoutManager mLayoutManager;
    RecyclerView.Adapter mAdapter;
    ArrayList<NatureItem> actorsList;

    private int previousTotal = 0;
    private boolean loading = true;
    private int visibleThreshold = 5;
    int firstVisibleItem, visibleItemCount, totalItemCount;

    public static RecyclerViewFragment newInstance() {
        return new RecyclerViewFragment();
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        return inflater.inflate(R.layout.fragment_recyclerview_advance, container, false);
    }

    @Override
    public void onViewCreated(View view, Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);

        actorsList = new …
Run Code Online (Sandbox Code Playgroud)

java onscrolllistener endlessscroll android-cardview android-recyclerview

35
推荐指数
4
解决办法
6万
查看次数

如何创建循环(无尽)RecyclerView?

我试图让我的RecyclerView循环回到我的列表的开头.

我已经搜遍了整个互联网,并设法检测到我的列表何时到达,但是我不确定从哪里开始.

这是我目前用于检测列表末尾的内容(在此处找到):

 @Override
    public void onScrolled(RecyclerView recyclerView, int dx, int dy) {

        visibleItemCount = mLayoutManager.getChildCount();
        totalItemCount = mLayoutManager.getItemCount();
        pastVisiblesItems = mLayoutManager.findFirstVisibleItemPosition();

        if (loading) {
            if ( (visibleItemCount+pastVisiblesItems) >= totalItemCount) {
                loading = false;
                Log.v("...", ""+visibleItemCount);
            }
        }
 }
Run Code Online (Sandbox Code Playgroud)

当滚动到最后,我希望在从列表顶部显示数据或滚动到列表顶部时可以看到视图我将从列表底部显示数据.

例如:

View1 View2 View3 View4 View5

View5 View1 View2 View3 View4

android android-recyclerview

32
推荐指数
3
解决办法
2万
查看次数

findFirstVisibleItemPositions不适用于recycleview android

我有这个代码:

mRecycleView.setOnScrollListener(new RecyclerView.OnScrollListener() {
    @Override
    public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
        super.onScrolled(recyclerView, dx, dy);
        int[] firstVisibleItemPositions = new int[getResources().getInteger(R.integer.news_numbers_column)]; 
        int pastVisiblesItems = ((StaggeredGridLayoutManager)getLayoutManager()).findFirstVisibleItemPositions(firstVisibleItemPositions)[0];
    }
});
Run Code Online (Sandbox Code Playgroud)

当我滚动我的recycleview时,我收到此错误:

java.lang.NullPointerException: Attempt to invoke virtual method 'int android.support.v7.widget.OrientationHelper.getStartAfterPadding()' on a null object reference
at android.support.v7.widget.StaggeredGridLayoutManager$Span.findOneVisibleChild(StaggeredGridLayoutManager.java:2177)
at android.support.v7.widget.StaggeredGridLayoutManager$Span.findFirstVisibleItemPosition(StaggeredGridLayoutManager.java:2153)
at android.support.v7.widget.StaggeredGridLayoutManager.findFirstVisibleItemPositions(StaggeredGridLayoutManager.java:806)
at info.lanouvelletribune.apps.android.ui.fragments.NewsFragment$1.onScrollStateChanged(NewsFragment.java:90)
at android.support.v7.widget.RecyclerView.setScrollState(RecyclerView.java:751)
at android.support.v7.widget.RecyclerView.onInterceptTouchEvent(RecyclerView.java:1535)
at com.github.ksoichiro.android.observablescrollview.ObservableRecyclerView.onInterceptTouchEvent(ObservableRecyclerView.java:188)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2060)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2431)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2173)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2431)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2173)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2431)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2173)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2431)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2173)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2431)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2173)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2431) …
Run Code Online (Sandbox Code Playgroud)

java android android-recyclerview

14
推荐指数
2
解决办法
2万
查看次数

使用setOnScrollListener从服务器获取仅20行

这是我第一次使用onscroll监听器.我的问题是每次向下滚动时如何获取20个新行?

我理解当我向下滚动网格视图时,将执行此代码.

public void onScroll(AbsListView view, int firstVisibleItem,
                             int visibleItemCount, int totalItemCount) {
            // TODO Auto-generated method stub

            this.currentFirstVisibleItem = firstVisibleItem;
            this.currentVisibleItemCount = visibleItemCount;
            this.totalItem = totalItemCount;

            if ((totalItemCount - visibleItemCount) <= (firstVisibleItem + 20)) {
               // the below when executed will get all the rows ,I only need 20 rows
             handler.execute().get();

            }
        }
Run Code Online (Sandbox Code Playgroud)

这是我的代码

// the load more in the grid view, fetch new images.
mGridView.setOnScrollListener(new AbsListView.OnScrollListener() {
    private int currentVisibleItemCount;
    private int currentScrollState;
    private int currentFirstVisibleItem;
    private int …
Run Code Online (Sandbox Code Playgroud)

android

6
推荐指数
2
解决办法
218
查看次数

如何创建Recycler View Grid分页?

我创建了Recycler View Grid.我希望实现分页.但我不明白它是怎么做的.我找到一个答案在这里输入链接描述

但它对我不起作用.mLayoutManager.findFirstVisibleItemPosition();我的LayOutManager中没有方法 .方法mRecyclerView.setOnScrollListener已弃用.如何在Recycler View Grid中实现分页?

android android-recyclerview

5
推荐指数
1
解决办法
2641
查看次数

在android listview中使用onScroll

朋友我正在使用listview并在滚动结束时滚动加载内容.但我面临的错误就像同一个url被多次调用一样,如果快速滚动,任何人都可以帮我解决这个问题.我已经走了SCROLL_STATE_IDLE,但不知道如何在我的代码中实现相同的.即使我没有触摸它的运行屏幕.我现在想知道如何在空闲状态下停止代码.在下面找到我的代码

int start = 0;
int limit = 3;
loadingMore = false;
listView.setOnScrollListener(new OnScrollListener() {

        @Override
        public void onScrollStateChanged(AbsListView view, int scrollState) {
            // TODO Auto-generated method stub
                            }

        }

        @Override
        public void onScroll(AbsListView view, int firstVisibleItem,
                int visibleItemCount, int totalItemCount) {
            // TODO Auto-generated method stub
            int lastInScreen = firstVisibleItem + visibleItemCount;


            if ((lastInScreen == totalItemCount) ) {

                if(loadingMore == false){                   
                start = lastInScreen - 1;                   
                url = "http://www.dskjhf.com/web-servic/request_response.php?type=get_articles&start="
                        + start + "&end=" + limit;
                grabURL(url);                   
            }
        }}
    }); …
Run Code Online (Sandbox Code Playgroud)

android listview android-listview android-scrollview android-scroll

4
推荐指数
1
解决办法
2万
查看次数

基于滚动淡出/淡出TextView

我在LinearLayout中有一个水平的RecyclerView,上面有一个TextView,如下所示:

<TextView
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_marginTop="7dp"
 android:layout_marginLeft="10dp"
 android:layout_marginBottom="7dp"
 android:textColor="#FFa7a7a7"
 android:textSize="15sp"
 android:text="Hello, Android" />

<android.support.v7.widget.RecyclerView
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:id="@+id/recyclerview"
 android:layout_width="match_parent"
 android:layout_height="185dp" />
Run Code Online (Sandbox Code Playgroud)

当有一个左滚动并且RecyclerView中的第一个项目不在视图中时,我希望TextView淡出.并且只要第一个项目进入视图(通过右滚动),就希望它能够淡入淡出.我知道我将不得不用来addOnScrollChangedListener()确定recyclelerView的第一项何时不在视野范围内,我无法确定的是用滚动行为淡出(或淡入)TextView的方法.

这是我的RecyclerView java片段:

mRecyclerView = (RecyclerView)rootView.findViewById(R.id.recyclerview);
mRecyclerView.setLayoutManager(getLayoutManager());
mRecyclerView.setHasFixedSize(true);
mRecyclerView.setAdapter(mAdapter);
Run Code Online (Sandbox Code Playgroud)

android fade textview android-recyclerview

4
推荐指数
1
解决办法
4975
查看次数

如何在Gridlayout RecylcerView中实现无限滚动

我需要有关onscroll方法的帮助...所以我们尝试了一些我在stackoverflow上发现的问题,但其中大多数都适用于linearlayout等。如果您能向正确的方向指出,那将大有帮助...

我正在使用instagram api加载图片。它一次发送20张图片,所以当我到达页面底部时,我需要加载更多图片

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mRecyclerView = (RecyclerView) findViewById(R.id.recyclerView);
        mRecyclerView.setLayoutManager(new GridLayoutManager(this, 2));
        //configViews();
//        mLayoutManager = new GridLayoutManager(this, 2);
//        mRecyclerView.setLayoutManager(mLayoutManager);
        mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {


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



            }
        });

....
}
Run Code Online (Sandbox Code Playgroud)

android gridview android-recyclerview

3
推荐指数
1
解决办法
3097
查看次数

Endless RecyclerView,结束时重复数据

我想制作基于 RecyclerView 的列表,用户可以无限滚动。上面只有几个项目,但是每当用户滚动到末尾时,列表的第一个项目就会出现等等。此功能可以在两个滚动方向上工作。

android listview android-recyclerview

3
推荐指数
1
解决办法
3605
查看次数