如何在getFirstVisiblePosition()
中获取getChildAt(0)
和recyclerview
?因为我想在用户点击项目时获得位置。
和listview中的代码是
index = listview.getFirstVisiblePosition();
View v = listview.getChildAt(0);
top = (v == null) ? 0 : (v.getTop() - listview.getPaddingTop());
但我想使用recyclerview。
如何设定?
答案 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();
}
}