我有一个新闻回收视图,显示新闻列表。 在用户更改滚动列表,我想获得每个项目的数量。 例如,在行列表中,如果用户看到第9项,则计算++;
答案 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
方法进行计数。但是你必须注意它可能会为每个新闻多次拨打电话,你必须在第一次通话时才计算。