【发布时间】:2021-08-31 16:49:59
【问题描述】:
- 我正在尝试使用
Glide加载图像,但它返回以下错误,我检查了这个stackoverflow问题How to load Image into ImageView from Url using Glide v4.0.0RC1,Glide does not resolve its method,但没有解决错误 - 错误
2021-08-30 22:31:54.727 15117-15117/com.eosphorus.flockflairapp E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.eosphorus.flockflairapp, PID: 15117
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.eosphorus.flockflairapp/com.eosphorus.flockflairapp.DisplayQuestions}: java.lang.NullPointerException: Argument must not be null
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2946)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3081)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
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:1831)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:201)
at android.app.ActivityThread.main(ActivityThread.java:6806)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
Caused by: java.lang.NullPointerException: Argument must not be null
at com.bumptech.glide.util.Preconditions.checkNotNull(Preconditions.java:31)
at com.bumptech.glide.util.Preconditions.checkNotNull(Preconditions.java:25)
at com.bumptech.glide.RequestBuilder.into(RequestBuilder.java:651)
at com.eosphorus.flockflairapp.DisplayQuestions.onCreate(DisplayQuestions.java:116)
at android.app.Activity.performCreate(Activity.java:7224)
at android.app.Activity.performCreate(Activity.java:7213)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1272)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2926)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3081)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
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:1831)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:201)
at android.app.ActivityThread.main(ActivityThread.java:6806)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
- 代码
<ImageView
android:id = "@+id/imageView"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content" />
ImageView imageView = findViewById(R.id.imageView);
RequestOptions options = new RequestOptions()
.placeholder(R.drawable.ic_launcher_background)
.error(R.drawable.ic_launcher_background);
Glide.with(this).load("https://www.tutorialspoint.com/images/tp-logo-diamond.png").apply(options).into(imageView);
【问题讨论】:
-
imageView显然为空。 为什么不清楚。可以发minimal, reproducible example吗? -
@joachim Sauer 不,它不为空......
-
@Lav Sharma 请使用类似stackoverflow.com/a/44199289/12660050 的选项直接应用...
-
@VatsalDholakiya:好吧,堆栈跟踪清楚地表明“参数不能为空”,您调用的方法是
RequestBuilder.into,如果您检查RequestBuilder source,那么您会看到into()做的第一件事就是打电话给Preconditions.checkNotNull(view);。我非常有信心您传递给into()的值由于某种原因为空。你可以选择不相信,但这并不意味着我错了。 -
是的,它是空指针异常,你是对的,在 into() 处有空,但不是因为什么都没有通过。我认为这是因为在 apply() 中传递的选项有问题。
标签: java android android-glide