【问题标题】:android.content.res.Resources$NotFoundException: Drawable com.sidharth.saveimage:id/iv_image_thumbnail with resource ID #0x7f09010aandroid.content.res.Resources$NotFoundException: Drawable com.sidharth.saveimage:id/iv_image_thumbnail 资源 ID #0x7f09010a
【发布时间】:2022-08-16 13:00:02
【问题描述】:

所以,我想为我的 ImageView 设置图像资源,但我收到了这个错误。

android.content.res.Resources$NotFoundException: Drawable com.sidharth.saveimage:id/iv_image_thumbnail with resource ID #0x7f09010a
    Caused by: android.content.res.Resources$NotFoundException: Resource \"com.sidharth.saveimage:id/iv_image_thumbnail\" (7f09010a) is not a Drawable (color or path): TypedValue{t=0x12/d=0x0 a=15 r=0x7f09010a}

我正在使用返回资源 id 的 ImageModel 将图像资源设置为 ImageView,但它会抛出异常

已经检查了这些答案[1][2]

图像模型对象

ImageModel model = new ImageModel(\"karan\", false, R.id.iv_image_thumbnail);

图像模型

public class ImageModel {
    private String name;
    private boolean favorite;
    private int id;

    public ImageModel(String name, boolean favorite, int id) {
        this.name = name;
        this.favorite = favorite;
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public boolean isFavorite() {
        return favorite;
    }

    public void setFavorite(boolean favorite) {
        this.favorite = favorite;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }
}

image_item.xml

<?xml version=\"1.0\" encoding=\"utf-8\"?>
<com.google.android.material.card.MaterialCardView xmlns:android=\"http://schemas.android.com/apk/res/android\"
    android:layout_width=\"wrap_content\"
    android:layout_height=\"wrap_content\">

    <ImageView
        android:id=\"@+id/iv_image_thumbnail\"
        android:layout_width=\"@dimen/item_image_view_size\"
        android:layout_height=\"@dimen/item_image_view_size\"
        android:contentDescription=\"@string/item_description_image\"
        android:scaleType=\"centerCrop\" />

</com.google.android.material.card.MaterialCardView>

日志猫

2022-08-05 11:50:59.558 19881-19881/com.sidharth.saveimage E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.sidharth.saveimage, PID: 19881
    android.content.res.Resources$NotFoundException: Drawable com.sidharth.saveimage:id/iv_image_thumbnail with resource ID #0x7f09010a
    Caused by: android.content.res.Resources$NotFoundException: Resource \"com.sidharth.saveimage:id/iv_image_thumbnail\" (7f09010a) is not a Drawable (color or path): TypedValue{t=0x12/d=0x0 a=15 r=0x7f09010a}
        at android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:848)
        at android.content.res.ResourcesImpl.originalLoadDrawable(ResourcesImpl.java:693)
        at android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java:600)
        at android.content.res.MiuiResourcesImpl.loadDrawable(MiuiResourcesImpl.java:307)
        at android.content.res.Resources.loadDrawable(Resources.java:1010)
        at android.content.res.Resources.getDrawableForDensity(Resources.java:1000)
        at android.content.res.Resources.getDrawable(Resources.java:939)
        at android.content.Context.getDrawable(Context.java:702)
        at androidx.core.content.ContextCompat$Api21Impl.getDrawable(ContextCompat.java:864)
        at androidx.core.content.ContextCompat.getDrawable(ContextCompat.java:483)
        at androidx.appcompat.widget.ResourceManagerInternal.getDrawable(ResourceManagerInternal.java:148)
        at androidx.appcompat.widget.ResourceManagerInternal.getDrawable(ResourceManagerInternal.java:136)
        at androidx.appcompat.content.res.AppCompatResources.getDrawable(AppCompatResources.java:66)
        at androidx.appcompat.widget.AppCompatImageHelper.setImageResource(AppCompatImageHelper.java:91)
        at androidx.appcompat.widget.AppCompatImageView.setImageResource(AppCompatImageView.java:102)
        at com.sidharth.saveimage.tabview.image.ImageHolder.bind(ImageHolder.java:20)
        at com.sidharth.saveimage.tabview.image.ImageAdapter.onBindViewHolder(ImageAdapter.java:32)
        at com.sidharth.saveimage.tabview.image.ImageAdapter.onBindViewHolder(ImageAdapter.java:15)
        at androidx.recyclerview.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:7065)
        at androidx.recyclerview.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:7107)
        at androidx.recyclerview.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:6012)
        at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:6279)
        at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6118)
        at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6114)
        at androidx.recyclerview.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2303)
        at androidx.recyclerview.widget.GridLayoutManager.layoutChunk(GridLayoutManager.java:561)
        at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1587)
        at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:665)
        at androidx.recyclerview.widget.GridLayoutManager.onLayoutChildren(GridLayoutManager.java:170)
        at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:4134)
        at androidx.recyclerview.widget.RecyclerView.onMeasure(RecyclerView.java:3540)
        at android.view.View.measure(View.java:25777)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7017)
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
        at android.view.View.measure(View.java:25777)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7017)
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
        at android.view.View.measure(View.java:25777)
        at androidx.recyclerview.widget.RecyclerView$LayoutManager.measureChildWithMargins(RecyclerView.java:9384)
        at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1653)
        at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1587)
        at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:665)
2022-08-05 11:50:59.559 19881-19881/com.sidharth.saveimage E/AndroidRuntime:     at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:4134)
        at androidx.recyclerview.widget.RecyclerView.onMeasure(RecyclerView.java:3540)
        at android.view.View.measure(View.java:25777)
        at android.view.ViewGroup.measureChild(ViewGroup.java:6988)
        at androidx.viewpager2.widget.ViewPager2.onMeasure(ViewPager2.java:498)
        at android.view.View.measure(View.java:25777)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7017)
        at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1552)
        at android.widget.LinearLayout.measureVertical(LinearLayout.java:842)
        at android.widget.LinearLayout.onMeasure(LinearLayout.java:721)
        at android.view.View.measure(View.java:25777)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7017)
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
        at android.view.View.measure(View.java:25777)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7017)
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
        at android.view.View.measure(View.java:25777)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7017)
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
        at android.view.View.measure(View.java:25777)
        at androidx.core.widget.NestedScrollView.measureChildWithMargins(NestedScrollView.java:1695)
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
        at androidx.core.widget.NestedScrollView.onMeasure(NestedScrollView.java:604)
        at android.view.View.measure(View.java:25777)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7017)
        at androidx.coordinatorlayout.widget.CoordinatorLayout.onMeasureChild(CoordinatorLayout.java:760)
        at com.google.android.material.appbar.HeaderScrollingViewBehavior.onMeasureChild(HeaderScrollingViewBehavior.java:99)
        at com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior.onMeasureChild(AppBarLayout.java:2227)
        at androidx.coordinatorlayout.widget.CoordinatorLayout.onMeasure(CoordinatorLayout.java:831)
        at android.view.View.measure(View.java:25777)
        at androidx.drawerlayout.widget.DrawerLayout.onMeasure(DrawerLayout.java:1156)
        at android.view.View.measure(View.java:25777)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7017)
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
        at androidx.appcompat.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:145)
        at android.view.View.measure(View.java:25777)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7017)
        at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1552)
        at android.widget.LinearLayout.measureVertical(LinearLayout.java:842)
        at android.widget.LinearLayout.onMeasure(LinearLayout.java:721)
        at android.view.View.measure(View.java:25777)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7017)
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
        at android.view.View.measure(View.java:25777)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7017)
        at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1552)
        at android.widget.LinearLayout.measureVertical(LinearLayout.java:842)
        at android.widget.LinearLayout.onMeasure(LinearLayout.java:721)
        at android.view.View.measure(View.java:25777)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7017)
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
        at com.android.internal.policy.DecorView.onMeasure(DecorView.java:760)
        at android.view.View.measure(View.java:25777)
        at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:3503)
        at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:2323)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2584)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2047)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8351)
2022-08-05 11:50:59.559 19881-19881/com.sidharth.saveimage E/AndroidRuntime:     at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1058)
        at android.view.Choreographer.doCallbacks(Choreographer.java:880)
        at android.view.Choreographer.doFrame(Choreographer.java:813)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1043)
        at android.os.Handler.handleCallback(Handler.java:938)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:236)
        at android.app.ActivityThread.main(ActivityThread.java:7876)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:656)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:967)

    标签: java android imageview


    【解决方案1】:

    我找出问题所在。我没有传递可绘制 ID,而是传递了导致错误的视图 ID

    在这里,我将其更改为

    ImageModel model = new ImageModel("karan", false, R.id.iv_image_thumbnail);
    

    这个

    ImageModel model = new ImageModel("karan", false, R.drawable.iv_image_thumbnail);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多