마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

static bitmap 으로 이미지값을 넘겨받는데 이미지가 안바뀔떄도잇내요

0 추천
이미지1  이미지2  이미지3

 

이렇게있을떄 이미지1->이미지2로 viewpager로 이미지교체한다음  1~2초만에 image크롭(다른액티비티)로startactvity로 이동해서 staticbitmap값을 받아 setimagebitmap을 구으면 이미지1이뜹니다.

그런데 4초정도 지난뒤  image크롭(다른액티비티)로이동하면 이미지2가 제대로뜨고요 어떤문제인가용?..

 

 

이미지크롭으로 비트맵이동시키는부분

 

 case R.id.gall_crops:

   mViewPager.setDrawingCacheEnabled(true);

//이부분이 staticbitmap 부분입니다.   

j = mViewPager.getDrawingCache();

   Intent i = new Intent(GalleryFileActivity.this, ImageCroper.class);
 

   startActivity(i);

   break;

 

이미지크롭부분 이미지띄우는부분

  final CropImageView cropImageView = (CropImageView) findViewById(R.id.CropImageView);

  Matrix matrix = new Matrix();
  cropImageView.setImageBitmap(croppedImage);
익명사용자 님이 2015년 11월 12일 질문
혹시 static이정답이아니라면

이부분을 static으로 받지않으면 40k이상이기떄문에 오류가뜬다고해서  다른방법을 아시는분은 도움부탁드려욤..

1개의 답변

0 추천

이미 그려진 상태에서  setImageBitmap 호출한다고 해서 view의 이미지가 다시 그려지는게 아니라 그런 듯 하네요..  

해당 메소드를 호출 한 이후 

invalidate , postInvalidate 메소드,혹은  requestLayout 메소드 같은 것을 추가로 호출해서 화면에 반영되게 해 보세요.

 

그리고 Bitmap 객체 자체가 Parcelable 한 객체라 intent로 넘어가집니다.

i.putExtra("bitmap", croppedImage); // 넣는 부분

 

Bitmap event = (Bitmap)getIntent().getParcelableExtra("bitmap"); // 받는 부분

같은 형식으로 사용이 가능하니 가급적 static으로 잡지 마시고 bitmap을 넘기시는것을 추천합니다..

 

익명사용자 님이 2015년 11월 12일 답변
2015년 11월 12일 수정
...