Android 关注一个recyclerview项目

Android 关注一个recyclerview项目,android,android-recyclerview,Android,Android Recyclerview,我试着把注意力集中在回收视图的一个特定项目上。使用recyclerview时,与listview.setSelection(position)等价的是什么?。在本例中,有一个ImageView,我将其设置为单击Listner。在ViewHolder类中,您必须这样做: public class ViewHolder extends RecyclerView.ViewHolder { public ViewHolder(View itemView, int viewType) {

我试着把注意力集中在回收视图的一个特定项目上。使用recyclerview时,与listview.setSelection(position)等价的是什么?。

在本例中,有一个ImageView,我将其设置为单击Listner。在ViewHolder类中,您必须这样做:

public class ViewHolder extends RecyclerView.ViewHolder {

    public ViewHolder(View itemView, int viewType) {
        super(itemView);
    }

    public void setImage(String imagePath) {
        ImageView imageView = (ImageView) itemView.findViewById(R.id.images);
        if (null == imageView) return;
        final File file = new File(imagePath);
        if (file.exists()) {
            Bitmap bitmap = BitmapFactory.decodeFile(file.getAbsolutePath());
            imageView.setImageBitmap(bitmap);
            imageView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent i = new Intent(context, FullScreenImageActivity.class);
                    i.putExtra("image_path", file.getAbsolutePath());
                    context.startActivity(i);
                }
            });
        }
    }
}

您可以调用
RecyclerView.scrollToPosition(position)
请求RecyclerView的布局管理器在下一个布局过程中滚动到给定位置(这是异步的)

若要请求聚焦项目视图,该视图必须是可聚焦的,您可以调用
view.requestFocus()

如果视图尚未在您希望对其进行对焦时进行布局,则只要
onViewAttachedToWindow()调用
view.requestFocus()
已被调用。

在这里,您可以并且应该将onClickListner设置为ItemView。您何时在item视图中调用requestFocus以与滚动到该项目的RecyclerView相对应?当ViewHolder与您的项目相匹配时,您将在
Adapter.onViewAttachedToWindow()中调用它。您可以检查
ViewHolder.getAdapterPosition()