【问题标题】:ImageView.setBitmapImage throwing nullpointer exceptionImageView.set Bitmap Image 抛出空指针异常
【发布时间】:2011-11-06 11:36:20
【问题描述】:

我使用对话框向用户显示选项菜单,并且在对话框屏幕内使用 ImageView。我将 BitmapFactory.decodeFile() 与用户 sd 卡中要使用的图像的文件路径一起使用,我绝对拥有所有权限集。我已经检查了调试器,还通过使用日志语句来确保文件路径和位图都是有价值的而不是空的。由于某种原因,当它使用返回的图像时,它会抛出一个空指针异常。这是对话框图像视图的一小段代码

                        dialog2 = new Dialog(MyView.this);

                        LayoutInflater li =      (LayoutInflater) MyView.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                        View w = li.inflate(R.layout.userpreference, null, false);

                            dialog2.setContentView(w);

                            dialog2.setTitle("MY PREFERENCES");

    ////////////////////////////////////////////////////////////////////
                            profileImage = new ImageView(MyView.this);
                            profileImage = (ImageView) dialog2.findViewById(R.id.profileImage);
                            BitmapFactory.Options opts = new BitmapFactory.Options();
                            opts.inSampleSize = 16;
                            profileImage.setImageBitmap(BitmapFactory.decodeFile(curr_profimg,opts));

我注意到我不需要 layoutinflater,但我认为这可能与错误有关。这是来自 logcat 的行

11-06 03:31:15.488: E/AndroidRuntime(11889): FATAL EXCEPTION: main
11-06 03:31:15.488: E/AndroidRuntime(11889): java.lang.NullPointerException
11-06 03:31:15.488: E/AndroidRuntime(11889):    at graf.main.MyView$6$9.onClick(MyView.java:567)
11-06 03:31:15.488: E/AndroidRuntime(11889):    at android.view.View.performClick(View.java:2485)
11-06 03:31:15.488: E/AndroidRuntime(11889):    at android.view.View$PerformClick.run(View.java:9089)
11-06 03:31:15.488: E/AndroidRuntime(11889):    at android.os.Handler.handleCallback(Handler.java:587)
11-06 03:31:15.488: E/AndroidRuntime(11889):    at android.os.Handler.dispatchMessage(Handler.java:92)
11-06 03:31:15.488: E/AndroidRuntime(11889):    at android.os.Looper.loop(Looper.java:130)
11-06 03:31:15.488: E/AndroidRuntime(11889):    at android.app.ActivityThread.main(ActivityThread.java:3806)
11-06 03:31:15.488: E/AndroidRuntime(11889):    at java.lang.reflect.Method.invokeNative(Native Method)
11-06 03:31:15.488: E/AndroidRuntime(11889):    at java.lang.reflect.Method.invoke(Method.java:507)
11-06 03:31:15.488: E/AndroidRuntime(11889):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
11-06 03:31:15.488: E/AndroidRuntime(11889):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
11-06 03:31:15.488: E/AndroidRuntime(11889):    at dalvik.system.NativeStart.main(Native Method)

如往常一样,我们将非常感谢您对此事的任何意见

【问题讨论】:

  • dialog2.findViewById ,将其替换为 w.findViewById
  • @YashwanthKumar 感谢您的帮助,但我意识到它已经是大声笑.....该睡觉了 :)

标签: android dialog bitmap nullpointerexception


【解决方案1】:

我刚刚意识到我自己的命名约定有问题哈哈......我有两个名为 profileImage 的资源......一个大写的 I 和一个小写的 i.....to much coffee并且睡眠不足....另一个原因是要记住您在学校学到的有关跨多个班级的命名约定的知识,哈哈

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-22
    • 2020-08-10
    • 2013-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多