当点击回收器视图上的项目视图时,如何处理未找到资源的异常,而不是数据和活动lauch,它会导致应用程序崩溃



我已经构建了一个应用程序来学习适配器和回收器视图的使用。它包含一个回收器视图和适配器,它使用数据类来显示单击回收器视图中某个项目时的数据,但每当我点击回收器视图的某个项目并显示java资源未找到异常时,应用程序就会在运行时崩溃,有人能帮我解决这个问题吗,因为我是学习和调试这个的新手

2022-07-24 16:00:14.903 11460-11460/com.example.planetapp E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.planetapp, PID: 11460
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.planetapp/com.example.planetapp.PlanetDetail}: android.content.res.Resources$NotFoundException: Resource ID #0xffffffff
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3430)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3614)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:86)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2199)
at android.os.Handler.dispatchMessage(Handler.java:112)
at android.os.Looper.loop(Looper.java:216)
at android.app.ActivityThread.main(ActivityThread.java:7625)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987)
Caused by: android.content.res.Resources$NotFoundException: Resource ID #0xffffffff
at android.content.res.ResourcesImpl.getValue(ResourcesImpl.java:292)
at android.content.res.Resources.getValue(Resources.java:1540)
at androidx.appcompat.widget.ResourceManagerInternal.createDrawableIfNeeded(ResourceManagerInternal.java:180)
at androidx.appcompat.widget.ResourceManagerInternal.getDrawable(ResourceManagerInternal.java:145)
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.example.planetapp.PlanetDetail.setData(PlanetDetail.kt:37)
at com.example.planetapp.PlanetDetail.onCreate(PlanetDetail.kt:20)
at android.app.Activity.performCreate(Activity.java:7458)
at android.app.Activity.performCreate(Activity.java:7448)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1286)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3409)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3614) 
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:86) 
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) 
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2199) 
at android.os.Handler.dispatchMessage(Handler.java:112) 
at android.os.Looper.loop(Looper.java:216) 
at android.app.ActivityThread.main(ActivityThread.java:7625) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987)```
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.planetapp/com.example.planetapp.PlanetDetail}: android.content.res.Resources$NotFoundException: Resource ID #0xffffffff
Caused by: android.content.res.Resources$NotFoundException: Resource ID #0xffffffff

上面的错误告诉你到底发生了什么。

您正试图访问";资源";当CCD_ 1根本不存在时使用它。

我建议仔细检查使用findViewById(...)的代码,尤其是截获onClick(View view)事件的代码。

例如,如果您有一个ID如下的xml元素:

<... android:id="@+id/MY_EXCELLENT_ID" ... />

你可能是这样输入的:

findViewById(R.id.MY_EXCELLEND_ID);

最新更新