Quantcast
Channel: Staggered Gridview (Recycleview) with load more functionality inside the NestedScrollView - Stack Overflow
Viewing all articles
Browse latest Browse all 2

Staggered Gridview (Recycleview) with load more functionality inside the NestedScrollView

$
0
0

I want to implement the load more functionality inside my Staggered gridview. I have tried some lines of code for it like using addOnScrollListener but did not call when i come to the bottom the list.
Please find my code which i have tried to implement the load more functionality but not getting the expected result.

MY_STRAGGED_RECYCLIVIEW.addOnScrollListener(new RecyclerView.OnScrollListener() {                    @Override                    public void onScrolled(RecyclerView recyclerView,                                           int dx, int dy) {                        super.onScrolled(recyclerView, dx, dy);                        totalItemCount = staggeredGridLayoutManager.getItemCount();                        lastVisibleItem = staggeredGridLayoutManager                                .findLastCompletelyVisibleItemPositions(null)[0];                        if (!loading && totalItemCount <= (lastVisibleItem + visibleThreshold)) {                            // End has been reached                            // Do something                            System.out.println("I amm here dd ");                            loading = true;                        }                    }                });

In my above code, System.out is not getting print...

I have tried another listener for the stragged gridview that is setOnScrollChangeListener, but it is also not working

MY_STRAGGED_RECYCLIVIEW.setOnScrollChangeListener(new View.OnScrollChangeListener() {            @Override            public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {                System.out.println("I amm here fffffffffff ");            }        });

Same problem arises with this listener , not getting to print my System.out

On more thing which i have tried in my adapter class inside the onBindViewHolder method that is

if(getCount()==position){////for getting the last item of the recycleview}

Above code is also not working..Please help me to short out from this problem..Thanks :)



@Abbas please check my adapter code below

public class StraggredView extends RecyclerView.Adapter<StraggredView.ViewHolder> {    private List<Content> mDataSet;    private Context ctx;    public StraggredView(Context context, List<Content> arrList) {        ctx = context;        mDataSet = arrList;    }    @Override    public StraggredView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_grid, parent, false);        return new ViewHolder(view);    }    @Override    public void onBindViewHolder(ViewHolder holder, final int position) {        if(getItemCount()==position)        {            //// I AM NOT GETTING IT AT THE BOTTOM... IT INVOKED AS THE ADAPTER IS CALLED FIRST TIME...LOOK AT IT        }        if (mDataSet.get(position).getContentImage() == null || mDataSet.get(position).getContentImage().isEmpty()) {            Glide.with(ctx).load(R.drawable.no_content)                    // .override(screenWidth / 2, Utils.dpToPx(height))                    .into(holder.imgContent);        } else {            Glide.with(ctx).load(mDataSet.get(position).getContentImage())                    //  .override(screenWidth / 2, Utils.dpToPx(height))                    //    .centerCrop()                    //.transform(new CircleTransform())                    .into(holder.imgContent);        }        holder.imgContent.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                if (mDataSet.get(position).getContentImage() != null                        || !mDataSet.get(position).getContentImage().isEmpty()) {                    FragmentActivity activity = (FragmentActivity) (ctx);                    FragmentManager fm = activity.getSupportFragmentManager();                    FullScreenFragment dialog = FullScreenFragment.newInstance(                            mDataSet.get(position).getContentImage());                    dialog.show(fm, "dialog");                }            }        });    }    @Override    public int getItemCount() {        return this.mDataSet.size();    }    public class ViewHolder extends RecyclerView.ViewHolder {        public ImageView imgContent;        public ViewHolder(View itemView) {            super(itemView);            imgContent = (ImageView) itemView.findViewById(R.id.imgContent);        }    }}

Viewing all articles
Browse latest Browse all 2

Latest Images

Trending Articles





Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>
<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596344.js" async> </script>