如何在recyclerview中获取getFirstVisiblePosition()和getChildAt(0)

时间:2017-08-27 12:53:55

标签: java android android-recyclerview

如何在getFirstVisiblePosition()中获取getChildAt(0)recyclerview?因为我想在用户点击项目时获得位置。

和listview中的代码是

index = listview.getFirstVisiblePosition();
View v = listview.getChildAt(0);
top = (v == null) ? 0 : (v.getTop() - listview.getPaddingTop());

但我想使用recyclerview。

如何设定?

3 个答案:

答案 0 :(得分:1)

两者都可以通过LayoutManager获得:

layoutManager.findViewByPosition(position);
layoutManager.findFirstVisibleItemPosition();

答案 1 :(得分:1)

如果您使用的是LinearLayoutManager,则可以使用:

int findFirstVisibleItemPosition();

答案 2 :(得分:0)

您可以在查看持有者中使用getAdapterPosition()。例如:

private class myViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {

       public myViewHolder(View view) {
           super(view);
             view.setOnclickListener(this);
       }

 @Override
public void onClick(View view) {

       int clickedItemPosition = view.getAdapterPosition();

}
   }

Android Recycler View Documentation

How do I get the position selected in a RecyclerView?