2014-03-03 3 views
-1

갤러리에서 이미지를 선택하고 다음 활동에서 동일하게 표시하고 싶습니다. 구현시 이미지가 유지되지 않습니다. 활동 1 :갤러리에서 선택한 이미지를 안드로이드의 새로운 활동으로 유지

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    Button bot=(Button)this.findViewById(R.id.buk1); 
    bot.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 
      // TODO Auto-generated method stub 
      Intent intent = new Intent(); 
      intent.setType("image/*"); 
      intent.setAction(Intent.ACTION_GET_CONTENT);// 
      //startActivity(intent); 
      startActivityForResult(Intent.createChooser(intent, "Select Picture"),10); 

     } 
    }); 
} 
protected void onActivityResult(int requestCode, int resultCode, Intent data) 
{ 
    Bitmap selectedphoto = null; 
    super.onActivityResult(requestCode, resultCode, data); 
    if (requestCode == SELECT_PICTURE && 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 filePath = cursor.getString(columnIndex); 
     selectedphoto = BitmapFactory.decodeFile(filePath); 
     cursor.close(); 
     Intent i = new Intent (MainAct.this,gal.class); 
     i.putExtra("data",selectedphoto); 
     startActivity(i); 
    } 

} 

활동 2 :

  public class gal extends Activity{ 
    ImageView view = (ImageView) findViewById(R.id.imger); 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.galr); 

     Bitmap selectedphoto =(Bitmap)this.getIntent().getParcelableExtra("data"); 
     view.setImageBitmap(selectedphoto); 
    } 

} 
+0

여기를 참조 http://viralpatel.net/blogs/pick-image-from-galary-android-app/ – rajshree

답변

1
  1. 받기 선택한 이미지

    여기 내 코드입니다.

  2. ArrayList<Bitmap>에 넣으십시오.
  3. Intent에 추가하십시오.
  4. 다음 활동에서 검색하십시오. 여자 활동

    Intent i = new Intent (MainAct.this,gal.class); 
         i.putExtra("data",filePath); 
         startActivity(i); 
    

    다시 경로와 디코드 비트 맵을 얻을 - 의도을 통해

0

전달 비트 맵이 너무 경로를 통과하고 다시

디코딩 이런 식으로 시도 매우 광대가 될 수 있습니다.

0

ShowImage 활동에 비트 맵을 전달하는 대신 URI를 전달한 다음 ShowImage 활동의 실제 비트 맵을 PictureOptions 활동에서와 똑같이 검색 할 수 있습니다. 당신의 ShowImage 활동에서

intent.setData(uri); 

할 :

URI imageUri = getIntent().getData(); 
관련 문제