2011-11-06 58 views
1

使用对话框来显示一个选项菜单给用户,并在对话框中使用ImageView显示Im。我使用BitmapFactory.decodeFile()与从用户SD卡使用的图像的文件路径,我肯定拥有所有的权限设置。我检查了调试器,并通过使用日志语句来确保文件路径和位图都是值得的东西,而不是null。由于某些原因,当它使用返回的图像时,它会抛出一个空指针异常。继承人在该对话框的ImageView的小块代码ImageView.setBitmapImage引发空指针异常

     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) 

一如既往对此事的任何输入将是线条十分赞赏

+0

dialog2.findViewById,将其替换为w.findViewById –

+0

@YashwanthKumar感谢您的帮助,但我意识到它已经是大声笑..... t ime睡觉:) –

回答

0

我才意识到,我有一个问题,我自己的命名约定笑.....我有两个资源命名为profileImage ....一个用大写字母I,一个用小写字母i ......用很多咖啡和睡眠不足......另一个记住你在学校里学到的关于多个班级命名约定的原因lol