2011-11-06 60 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