안드로이드 개발 질문/답변
(글 수 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이 넘어오구요 이걸 맞바꿔주면 됩니다.