2013-05-25 61 views
2

新的意圖我有一個按鈕:的Android NullPointerException異常創建摩托羅拉設備

final Button dialogButtonFotoPerfil1 = (Button) dialogFotosPerfil 
      .findViewById(R.id.botonFotoPerfil1); 
    dialogButtonFotoPerfil1.setOnClickListener(new MediaGaleryActivity()); 

,我要顯示的圖像選擇器。 MediaGaleryActivity.java是:

import android.app.Activity; 
import android.content.Intent; 
import android.database.Cursor; 
import android.graphics.Bitmap; 
import android.graphics.BitmapFactory; 
import android.net.Uri; 
import android.provider.MediaStore; 
import android.util.Log; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.ImageView; 

import com.gayworld.R; 
import com.gayworld.utils.Utilidades; 

public class MediaGaleryActivity extends Activity implements OnClickListener { 
    private static final int SELECT_IMAGE = 1; 
    private static String TAG; 

    @Override 
    public void onClick(View v) { 
     TAG = "MediaGaleryActivity.onClick"; 
     Log.d(TAG, "Inicio."); 
     Intent intent = null; 
     switch (v.getId()) { 
     case R.id.botonFotoPerfil1: 

       intent = new Intent(Intent.ACTION_GET_CONTENT); 
       intent.setType("image/*");  
       Log.d(TAG, "Error valor gallery "+intent.toString()); 
        startActivityForResult(Intent.createChooser(intent, 
          "Select Picture"),SELECT_IMAGE); 
      break; 
     default: 
      break; 
     } 

    } 

    @Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 
     TAG = "MediaGaleryActivity.onActivityResult"; 
     Log.d(TAG, "Inicio."); 

     if(resultCode==RESULT_OK && requestCode==SELECT_IMAGE){ 
     Uri selectedImage=data.getData(); 
     String path=getPath(selectedImage); 

     Bitmap bitmapImage=BitmapFactory.decodeFile(path); 
     ImageView image=(ImageView)findViewById(R.id.image); 
     image.setImageBitmap(bitmapImage); 

     } 
    } 

    public String getPath(Uri uri){ 
     TAG = "MediaGaleryActivity.getPath"; 
      Log.d(TAG, "Inicio."); 

     String[] filePathColumn={MediaStore.Images.Media.DATA}; 

     Cursor cursor=getContentResolver().query(uri, filePathColumn, null, null, null); 
     cursor.moveToFirst(); 
     int columnIndex=cursor.getColumnIndex(filePathColumn[0]); 

     return cursor.getString(columnIndex); 
    } 

} 

但I'm得到一個NullPointerException異常。

的logcat:

05-25 13:52:15.287: D/MediaGaleryActivity.onClick(11620): Inicio. 
05-25 13:52:15.295: D/MediaGaleryActivity.onClick(11620): Error valor gallery Intent { act=android.intent.action.GET_CONTENT typ=image/* } 
05-25 13:52:15.295: D/AndroidRuntime(11620): Shutting down VM 
05-25 13:52:15.295: W/dalvikvm(11620): threadid=1: thread exiting with uncaught exception (group=0x40a2c1f8) 
05-25 13:52:15.334: E/AndroidRuntime(11620): FATAL EXCEPTION: main 
05-25 13:52:15.334: E/AndroidRuntime(11620): java.lang.NullPointerException 
05-25 13:52:15.334: E/AndroidRuntime(11620): at android.app.Activity.startActivityForResult(Activity.java:3190) 
05-25 13:52:15.334: E/AndroidRuntime(11620): at com.gayworld.screen.activity.MediaGaleryActivity.onClick(MediaGaleryActivity.java:34) 
05-25 13:52:15.334: E/AndroidRuntime(11620): at android.view.View.performClick(View.java:3511) 
05-25 13:52:15.334: E/AndroidRuntime(11620): at android.view.View$PerformClick.run(View.java:14105) 
05-25 13:52:15.334: E/AndroidRuntime(11620): at android.os.Handler.handleCallback(Handler.java:605) 
05-25 13:52:15.334: E/AndroidRuntime(11620): at android.os.Handler.dispatchMessage(Handler.java:92) 
05-25 13:52:15.334: E/AndroidRuntime(11620): at android.os.Looper.loop(Looper.java:137) 
05-25 13:52:15.334: E/AndroidRuntime(11620): at android.app.ActivityThread.main(ActivityThread.java:4575) 
05-25 13:52:15.334: E/AndroidRuntime(11620): at java.lang.reflect.Method.invokeNative(Native Method) 
05-25 13:52:15.334: E/AndroidRuntime(11620): at java.lang.reflect.Method.invoke(Method.java:511) 
05-25 13:52:15.334: E/AndroidRuntime(11620): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789) 
05-25 13:52:15.334: E/AndroidRuntime(11620): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556) 
05-25 13:52:15.334: E/AndroidRuntime(11620): at dalvik.system.NativeStart.main(Native Method) 

我得到這個錯誤,我不知道我可以做得更多。 我一直在閱讀很多博客,答案,..我也要求谷歌的幫助...但沒有。 我總是得到同樣的錯誤。 任何想法? 因爲我真的堅持下去。

在此先感謝。

+2

在你的'Logcat'中,下面的幾行應該是類似於'引起的'。它指示哪條線? –

回答

0

您確定您的MediaGalleryActivity具有上下文嗎?

檢查了這一點,用戶在做類似的事情,並在startActivity得到一個NPE - >https://stackoverflow.com/a/16748203/2114852

除此之外,你必須向客戶提供全方位的logcat的意見建議。