gpt4 book ai didi

android - 从 Assets 中检索图像时出错

转载 作者:行者123 更新时间:2023-11-30 02:49:23 26 4
gpt4 key购买 nike

我需要从 Assets 文件夹中检索图像,并且需要使用位图来处理图像。文件的名称是 image.jpg。这是代码

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

AssetManager manager = getAssets();

try {
InputStream is = manager.open("image.jpg");
Bitmap img = BitmapFactory.decodeStream(is);
ImageView imageView = (ImageView) this.findViewById(R.id.ImageView1);
imageView.setImageBitmap(img);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

但我不明白为什么应用会崩溃。这是错误日志。

06-28 18:17:16.488: E/AndroidRuntime(10567): FATAL EXCEPTION: main
06-28 18:17:16.488: E/AndroidRuntime(10567): Process: com.example.instacut, PID: 10567
06-28 18:17:16.488: E/AndroidRuntime(10567): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.instacut/com.example.instacut.MainActivity}: java.lang.NullPointerException
06-28 18:17:16.488: E/AndroidRuntime(10567): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2198)
06-28 18:17:16.488: E/AndroidRuntime(10567): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2248)
06-28 18:17:16.488: E/AndroidRuntime(10567): at android.app.ActivityThread.access$800(ActivityThread.java:138)
06-28 18:17:16.488: E/AndroidRuntime(10567): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1199)
06-28 18:17:16.488: E/AndroidRuntime(10567): at android.os.Handler.dispatchMessage(Handler.java:102)
06-28 18:17:16.488: E/AndroidRuntime(10567): at android.os.Looper.loop(Looper.java:136)
06-28 18:17:16.488: E/AndroidRuntime(10567): at android.app.ActivityThread.main(ActivityThread.java:5116)
06-28 18:17:16.488: E/AndroidRuntime(10567): at java.lang.reflect.Method.invokeNative(Native Method)
06-28 18:17:16.488: E/AndroidRuntime(10567): at java.lang.reflect.Method.invoke(Method.java:515)
06-28 18:17:16.488: E/AndroidRuntime(10567): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
06-28 18:17:16.488: E/AndroidRuntime(10567): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605)
06-28 18:17:16.488: E/AndroidRuntime(10567): at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:132)
06-28 18:17:16.488: E/AndroidRuntime(10567): at dalvik.system.NativeStart.main(Native Method)
06-28 18:17:16.488: E/AndroidRuntime(10567): Caused by: java.lang.NullPointerException
06-28 18:17:16.488: E/AndroidRuntime(10567): at com.example.instacut.MainActivity.onCreate(MainActivity.java:41)
06-28 18:17:16.488: E/AndroidRuntime(10567): at android.app.Activity.performCreate(Activity.java:5231)
06-28 18:17:16.488: E/AndroidRuntime(10567): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
06-28 18:17:16.488: E/AndroidRuntime(10567): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2162)
06-28 18:17:16.488: E/AndroidRuntime(10567): ... 12 more

我正在为此关注互联网上的一个网站,它完全一样。我真的不明白这里出了什么问题。谢谢

最佳答案

您收到空指针错误,因为 imageView 实际上是一个 null 对象。

首先,您贴出的代码有错误:

   ImageView imageView = (ImageView);
this.findViewById(R.id.ImageView1);

应该是:

ImageView imageView = (ImageView) this.findViewById(R.id.ImageView1);

删除第一个分号。如果这不是问题所在,则 imageView 将设置为 null,因为它没有正确关联到 activity_main.xml 中的资源文件。确保您在 activity_main.xml 中声明了 ImageView 并使用 android:id="@+id/ImageView1" 声明,而不是在其他地方声明.如果这没有帮助,请发布文件,我们将帮助您找出错误。

以后,如果您提出 Android 问题,请务必在帖子中包含任何相关的 xml/资源文件。

关于android - 从 Assets 中检索图像时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24468800/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com