안드로이드 개발 질문/답변
(글 수 45,052)
질문이 있습니다..
현제 그림 퍼즐을 만들고있는데요
그림하나 클릭, 다른클릭할때 이미지 바뀌는건데요..
여기서.. 서로 이미지 바꾸는방법 을 모르겟습니다..
get id. 를 알아도.. 리소스 값을모르니...
답변 꼭좀 부탁드립니다..
이미지를 어떻게 바꾸어야하나요;;
현제 그림 퍼즐을 만들고있는데요
그림하나 클릭, 다른클릭할때 이미지 바뀌는건데요..
여기서.. 서로 이미지 바꾸는방법 을 모르겟습니다..
get id. 를 알아도.. 리소스 값을모르니...
답변 꼭좀 부탁드립니다..
이미지를 어떻게 바꾸어야하나요;;
// (1)패널 구성 버튼 static final int ImageButtons[] = { R.id.image_button1, R.id.image_button2, R.id.image_button3,R.id.image_button4, R.id.image_button5, R.id.image_button6, R.id.image_button7,R.id.image_button8, R.id.image_button9, R.id.image_button10, R.id.image_button11,R.id.image_button12, R.id.image_button13, R.id.image_button14, R.id.image_button15,R.id.image_button16 };
// (2)패널에 표시되는 이미지의 초기 상태 static final int ImagesResource[] = { R.drawable.game_part_01, R.drawable.game_part_02, R.drawable.game_part_03,R.drawable.game_part_04, R.drawable.game_part_05, R.drawable.game_part_06, R.drawable.game_part_07,R.drawable.game_part_08, R.drawable.game_part_09, R.drawable.game_part_10, R.drawable.game_part_11,R.drawable.game_part_12, R.drawable.game_part_13, R.drawable.game_part_14, R.drawable.game_part_15,R.drawable.game_part_16 }; // 초기상태 확인을 위한 static int ImagesResource1[] = { R.drawable.game_part_01, R.drawable.game_part_02, R.drawable.game_part_03,R.drawable.game_part_04, R.drawable.game_part_05, R.drawable.game_part_06, R.drawable.game_part_07,R.drawable.game_part_08, R.drawable.game_part_09, R.drawable.game_part_10, R.drawable.game_part_11,R.drawable.game_part_12, R.drawable.game_part_13, R.drawable.game_part_14, R.drawable.game_part_15,R.drawable.game_part_16 }; ArrayList< String > arr = new ArrayList< String >(); ArrayList< String > arrtemp = new ArrayList< String >(); int[] ChangeResource = new int[ ImagesResource.length ]; int check_a = 0; // 두개 클릭 확인 int check_b = 0; // //리소스 찾기 ImageButton resetbtn[] = new ImageButton[ ImageButtons.length ]; for( int i = 0; i < ImageButtons.length; i++ ) { resetbtn[ i ] = ( ImageButton ) findViewById( ImageButtons[ i ] ); resetbtn[ i ].setImageResource( ChangeResource[ i ] ); }
for( int i = 0; i < resetbtn.length; i++ ) { resetbtn[ i ].setOnTouchListener( new View.OnTouchListener() { @Override public boolean onTouch( View v, MotionEvent event ) { if( event.getAction() == MotionEvent.ACTION_UP ) { if( check_a == 0 ) { check_a = v.getId() ; Log.e( "~~~~~~A : getID~~~~~ ", "A:" + check_a ); }
else {
check_b = v.getId(); Log.e( "~~~~~~B : getID~~~~~ ", "B:" + check_b ); // v.setBackgroundResource( R.drawable.game_part_01 ); change(); //.setImageResource(R.drawable.game_part_05); check_a = 0;
}
}
return false; }
} );
} }
이미지 뷰의 Drawable을 맞바꾸면서 앞서 만든 맵이나 배열의 리소스도 같이 바꾸면 될거 같은데요.
이미지 뷰 간의 이미지 교환은 이미지 뷰를 가져와서 getDrawable 하면 Drawable이 넘어오구요 이걸 맞바꿔주면 됩니다.