使用recyclerview

时间:2018-06-05 16:37:37

标签: android android-recyclerview android-imageview

我在Android应用上使用回收站视图时出现问题。 一切正常,直到我向回收者视图添加4/5行。应用程序崩溃。

这是Recycler视图的模型,在我在文本视图中动态添加图像和文本的应用程序中。

<ImageView
    android:id="@+id/imageIDEntryList"
    android:layout_width="90dp"
    android:layout_height="90dp"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:srcCompat="@drawable/ic_image_grey_24dp" />

<TextView
    android:id="@+id/entryNameRecycler"
    android:layout_width="0dp"
    android:layout_height="90dp"
    android:gravity="left|center"
    android:text="TextView"
    android:textColor="@android:color/black"
    android:textSize="35dp"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toEndOf="@+id/imageIDEntryList"
    app:layout_constraintTop_toTopOf="parent" />

我使用jpeg格式将图像保存在回收站视图中。 崩溃是由图像过大造成的吗? 我还使用了一个库(imagepicker)来管理图像并放入了回收站视图的行。

这就是问题所在:

android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable

这是我将图像添加到imageView

的地方
if(requestCode == Keys.IMAGE_INTENT_REQUEST_CODE && resultCode == RESULT_OK) {
        final Uri imageUri = Uri.fromFile(new File(ImagePicker.getFirstImageOrNull(data).getPath()));
        try {
            bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), imageUri);
        }catch(IOException e){
            e.printStackTrace();
        }
        imageView.setImageBitmap(bitmap);
    }

崩溃是怎么造成的?

1 个答案:

答案 0 :(得分:0)

大多数人使用PicassoGlide来更新RecyclerView中的图片。这些库是开源的,比使用Bitmap更有效。

使用Picasso,您可以像在

中一样加载ImageView

Picasso.get().load(yourUri).into(imageView);
此外,它还可以有效地运行,使您的回收站视图平滑滚动。