每次填充Recyclerview一件物品,直到完全占用

时间:2016-01-19 07:11:46

标签: android android-recyclerview recycler-adapter

我想在Recycler View中实现以下功能

________________________
|  item1               
|                      
|                      
________________________

       | Call to Rest API to fetch more Item
       ▼
________________________
|  item1               
|  item2               
|
________________________

       | Call to Rest API to fetch more Item
       ▼
________________________
|  item1               
|  item2               
|  item3
________________________

这是我的适配器设置

    private void setupOpenPost() {
      final LinearLayoutManager linearLayoutManager = new LinearLayoutManager(ctx);
      linearLayoutManager.setReverseLayout(true);

      rvComments.setLayoutManager(linearLayoutManager);
      rvComments.setHasFixedSize(true);

      commentsAdapter = new CommentsAdapter(ctx,photoItem);
      commentsAdapter.fetchFirstItems();

      rvComments.setAdapter(commentsAdapter);
      rvComments.setOverScrollMode(View.OVER_SCROLL_NEVER);
    }

我想一次获取一个项目以填满完整的可见Recycler视图。

最初,fetchFirstItems()用于填充第一个项目。我有一个类似的函数fetchmoreItems()来获取更多。

问题:如何实现这一目标?实际发起对trigger code的调用并添加项目的fetchmoreItems()是什么?

1 个答案:

答案 0 :(得分:0)

  

如何实现这一目标?实际上触发器代码是什么   启动对fetchmoreItems()的调用?

您可以使用fetchmoreItems()方法拨打onBindViewHolder(),当您到达数据集中的最后一项时,请点击:

 @Override
 public void onBindViewHolder(ViewHolder holder, int position) {

       if(position == mYourDataSet.size()-1){ // its the last item
           fetchmoreItems();
       }
 }
  

并添加项目?

mYourDataSet.add(newItem); // add the item to your dataset
mAdapter.notifyItemInserted(mYourDataSet.size()-1); // notify the adapter