2014-07-26 4 views
0

아래는 다소 효과가있는 몇 가지 코드입니다 ... 현재 2 개의 ImageView가 내 화면에 있으며 각각 아래에 버튼이 있습니다. 버튼을 클릭하면 카메라 기능이 열립니다. 내 목표는 하나의 이미지 뷰 아래에있는 버튼이 이미지 뷰를 변경하여 다른 버튼을 클릭하여 다른 뷰를 변경할 수있게하는 것입니다. 그러나 내가 그 중 하나를 바꿀 때, 그들은 모두 같은 사진으로 바뀝니다. 나는 이전에 "if"변수를 "currentImage"라는 변수로 초기화하여 몇 가지 'if'문을 시도했지만 아무 소용이 없었다.안드로이드 카메라에서 사진 찍기 2 ImageViews를 변경하려면

의견이 있으십니까?

public class NowThen extends Activity { 

Bitmap photo; 

protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.nowthen); 
} 

public void nowPhoto (View view){ 
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE"); 
startActivityForResult(intent,0); 
} 

public void thenPhoto (View view){ 
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE"); 
startActivityForResult(intent,0); 
} 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
super.onActivityResult(requestCode, resultCode, data); 

if (requestCode == 0 && resultCode == RESULT_OK) { 
    if (data != null) { 

     photo = (Bitmap) data.getExtras().get("data"); 
     ImageView nowImage = (ImageView) findViewById(R.id.nowImage); 
     ImageView thenImage = (ImageView) findViewById(R.id.thenImage); 

     nowImage.setImageBitmap(photo); 
     thenImage.setImageBitmap(photo); 

     Log.d("camera ---- > ", "" + data.getExtras().get("data")); 
    } 
} 
} 
} 

답변

0

이에 thenPhoto 코드를 변경

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
super.onActivityResult(requestCode, resultCode, data); 

if (requestCode == 0 && resultCode == RESULT_OK) { 
    if (data != null) { 

     photo = (Bitmap) data.getExtras().get("data"); 
     ImageView nowImage = (ImageView) findViewById(R.id.nowImage); 

     nowImage.setImageBitmap(photo); 

     Log.d("camera ---- > ", "" + data.getExtras().get("data")); 
    } 
} else if (requestCode == 1 && resultCode == RESULT_OK) { 
    if (data != null) { 

     photo = (Bitmap) data.getExtras().get("data"); 
     ImageView thenImage = (ImageView) findViewById(R.id.thenImage); 

     thenImage.setImageBitmap(photo); 

     Log.d("camera ---- > ", "" + data.getExtras().get("data")); 
    } 
} 
} 
} 
+0

완벽한 - 작품 나는 희망처럼! 감사!! – coderoligist

0

코드는 인해 같은 블록이 onActivityResult를() 블록에서 호출이 당신이 같은 requestCode가 0과 의도를 시작하는 것을 제외하고 올바른 것입니다.

startActivityForResult(intent,0);//for first button 
startActivityForResult(intent,1);//for second button 

이제 if 또는 switch 문의 onAcitivityResult() 코드에서 requestCode를 확인하십시오.

public void thenPhoto (View view){ 
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE"); 
startActivityForResult(intent,1); 
} 

를 그리고이에 onActivityResult를 변경 :