Android 关注一个recyclerview项目
我试着把注意力集中在回收视图的一个特定项目上。使用recyclerview时,与listview.setSelection(position)等价的是什么?。在本例中,有一个ImageView,我将其设置为单击Listner。在ViewHolder类中,您必须这样做: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) {
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()
。