2011-08-25 7 views
0

하나의 활동에서 다른 두 가지 다른 활동으로 동일한 객체를 전달하고 싶습니다. 두 가지 모두에 대해 동일한 코드를 사용하지만 그 중 하나에 대해서는 작동하지 않습니다. 이 코드를 사용하여 비트 맵을 보냅니다.동일한 객체 하나를 다른 두 개의 다른 활동으로 전달하는 방법

Intent nIntent = new Intent(); 
nIntent.setClass(getApplicationContext(), tag.class); 
nIntent.putExtra("bitmap",thumbnail); 
startActivity(nIntent); 

Intent mIntent = new Intent(); 
mIntent.setClass(getApplicationContext(), PictureView.class); 
mIntent.putExtra("bitmap",thumbnail); 
startActivity(mIntent); 

다른 활동에서이 코드를 사용합니다.

imgView = (ImageView) findViewById(R.id.img_preview);       
Bitmap bitmap = (Bitmap)this.getIntent().getParcelableExtra("bitmap"); 
imgView.setImageBitmap(bitmap); 

하지만 그 중 하나는 이미지 뷰에 표시되지 않습니다.

+0

가 나는 당신이 당신의 이미지에 대한 권리 경로가 있는지 확인? 어느 것이 효과가 있고 그렇지 않은가? –

+0

둘 중 어느 것이 작동하지 않습니까? –

+0

'태그'클래스가 활동을 확장하지 않는다고 추측합니다. – Blundell

답변

0

Parcelable을 엑스트라에 넣기 전에 사용하십시오.

Drawable thumbnail = R.drawable.thumbnail; 

Intent mIntent = new Intent(); 
Bundle b = new Bundle(); 
b.putParcelable("bitmap", thumbnail); 
mIntent.putExtra(b); 
mIntent.setClass(getApplicationContext(), PictureView.class); 
startActivity(mIntent); 

과 mIntent 활동에

이를 사용 : '태그'는 클래스 명

Bundle extras = getIntent().getExtras(); 
if(extras != null){ 
    Drawable image = b.getParcelable("bitmap"); 
} 
관련 문제