Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在recyclerview中获取getFirstVisiblePosition()和getChildAt(0)_Java_Android_Android Recyclerview - Fatal编程技术网

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

Java 如何在recyclerview中获取getFirstVisiblePosition()和getChildAt(0),java,android,android-recyclerview,Java,Android,Android Recyclerview,如何在recyclerview中获取getFirstVisiblePosition()和getChildAt(0)?因为我想在用户单击项目时获得位置 listview中的代码是 index = listview.getFirstVisiblePosition(); View v = listview.getChildAt(0); top = (v == null) ? 0 : (v.getTop() - listview.getPaddingTop()); 但我想用recyclerview 如

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

listview中的代码是

index = listview.getFirstVisiblePosition();
View v = listview.getChildAt(0);
top = (v == null) ? 0 : (v.getTop() - listview.getPaddingTop());
但我想用recyclerview


如何设置它?

这两个都可以通过LayoutManager进行设置:

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

这两个都可以通过LayoutManager获得:

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

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


int findFirstVisibleItemPosition()

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


int findFirstVisibleItemPosition()

您可以在视图中使用
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();

}
   }


您可以在视图中使用
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();

}
   }


对不起,在哪里设置您需要强制转换到特殊视图并使用addView对不起,在哪里设置您需要强制转换到特殊视图并使用addView