Android RecyclerView项目得到了关注

时间:2017-07-14 09:12:32

标签: android android-recyclerview

我有一个新闻回收视图,显示新闻列表。 在用户更改滚动列表,我想获得每个项目的数量。 例如,在行列表中,如果用户看到第9项,则计算++;

something like this image. get count of visited item

3 个答案:

答案 0 :(得分:0)

您只需将addOnScrollListener添加到重定向器视图,然后在布局管理器中首先显示或最后一次显示。

recycler.addOnScrollListener(new RecyclerView.OnScrollListener() {

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



        Log.d("aaaaaaaaaaaaaaaaaaaaa", "onScrolled: "+layManager.findLastCompletelyVisibleItemPosition());
    });

你好问题我想在RecyclerView.Adapter中onBindViewHolder会很完美

@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
    final ViewHolder viewHolder= (ViewHolder ) holder;

   Log.d("aaaaaaaaaaaaaaaaaaaaa", "position "+position);
   count++; //for that position
}

您可以在该位置项目中添加您的点数

答案 1 :(得分:0)

您可以通过调用自定义适配器函数holder.getLayoutPosition()中的OnBindVewHolder(..)获取最后一个可见RecycleView项的位置

实际位置应为lastItemVisible +1。

答案 2 :(得分:0)

如果要计算每条新闻的观看次数,可以使用RecyclerView适配器的onBindViewHolder方法进行计数。但是你必须注意它可能会为每个新闻多次拨打电话,你必须在第一次通话时才计算。