2014-10-20 120 views
0

我有這樣的代碼:如何從uri獲取圖像ID?

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    Button play= (Button) findViewById(R.id.play); 
    play.setVisibility(1); 
    if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK 
      && null != data) { 
     Uri selectedImage = data.getData(); 
     String[] filePathColumn = { MediaStore.Images.Media.DATA }; 
     Cursor cursor = getContentResolver().query(selectedImage, 
       filePathColumn, null, null, null); 
     cursor.moveToFirst(); 
     int columnIndex = cursor.getColumnIndex(filePathColumn[0]); 
     String picturePath = cursor.getString(columnIndex); 
     cursor.close(); 
     ImageView imageView = (ImageView) findViewById(R.id.imgView); 
     imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath)); 
    } 
} 
public void Play(View view){ 
    int[] mImageIds = {R.id.imgView}; 
    Intent intent = new Intent(this, PuzzleSelectActivity.class); 
    intent.putExtra("images", mImageIds); 
    this.startActivity(intent); 
} 

我想從保護無效onActivityResult獲得圖像ID,並通過它的mImageIds ...

+0

你提供正確的權限? 這一個你需要<使用權限的android:name =「android.permission.INTERNET」/> – 2014-10-20 05:43:46

+0

y ...我把正確的權限.. <使用權限android:name =「android.permission.WRITE_EXTERNAL_STORAGE 「/> – 2014-10-20 06:03:26

回答

0
protected void onActivityResult(int requestCode, int resultCode, Intent data) 
{ 
    super.onActivityResult(requestCode, resultCode, data); 
    if (resultCode == RESULT_OK) 
    { 
    Uri imageUri = data.getData(); 
    Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), imageUri); 
    ImageView imageView = (ImageView) findViewById(R.id.imgView); 
    imageView.setImageBitmap(bitmap); 
    } 
} 

Get Bitmap from an Uri [android]