专注于recyclerview项目

时间:2016-02-24 14:47:37

标签: android android-recyclerview

我正在尝试专注于Recyclerview的特定项目。使用recyclerview时,listview.setSelection(position)的等价物是什么。

2 个答案:

答案 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);
                }
            });
        }
    }
}