안드로이드 개발 질문/답변
(글 수 45,052)
package com.android.Test5;
import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.ImageView;
public class Test5 extends Activity { public static final int ran[]= { R.drawable.image01, R.drawable.image02, R.drawable.image03, R.drawable.image04, R.drawable.image05 }; public static final int ran2[]= { R.drawable.image06, R.drawable.image07, R.drawable.image08, R.drawable.image09, R.drawable.image10 }; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button BtnLeft = (Button)findViewById(R.id.btn_left); Button BtnRight = (Button)findViewById(R.id.btn_right); BtnLeft.setOnClickListener(ButtonOnClick); BtnRight.setOnClickListener(ButtonOnClick); } private View.OnClickListener ButtonOnClick = new View.OnClickListener(){ public void onClick(View v){ switch(v.getId()){ case R.id.btn_left: ImageView test = (ImageView)findViewById(R.id.im_left); int index = (int) (Math.random() * 5); int res = ran[index]; test.setImageResource(res); break; case R.id.btn_right: ImageView test2 = (ImageView)findViewById(R.id.im_right); int index2 = (int) (Math.random() * 5); int res2 = ran2[index2]; test2.setBackgroundResource(res2); break; } } }; }
클릭할때마다 배열에 저장되어있는 이미지가 랜덤하게 출력되는 소스인데요.
중복을 방지할수있는 예제나 소스 없을까요?
아님 버튼 클릭할때마다 이미지 지우는 방법이나....
Test5 엑티비티에서 이미지 뷰들이 현재 보여주고 있는 배열의 인덱스를 저장하신뒤에
onClick()이 호출되면 현재 인덱스와 랜덤으로 생성한 인덱스 값이 같으면 다시 랜덤으로 생성해서
다른 값이 나올때까지 루프 돌린뒤
setImageResource() 함수를 쓰시는 방향으로 가시면 어떨까요.