我正在尝试专注于Recyclerview的特定项目。使用recyclerview时,listview.setSelection(position)
的等价物是什么。
答案 0 :(得分:7)
您致电RecyclerView.scrollToPosition(position)
请求RecyclerView的LayoutManager在下一次布局过程中滚动到给定位置(它是异步的)。
要请求对项目视图进行聚焦,视图必须是可聚焦的,并且您可以调用View.requestFocus()
。
如果在您想要关注视图时尚未列出视图,则可以在调用View.requestFocus()
后立即致电onViewAttachedToWindow()
。
答案 1 :(得分:-1)
在这个例子中,有一个ImageView,我将它设置为OnClickListner。您必须在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);
}
});
}
}
}