이미지를 랜덤으로 생성해서 출력하는 thread를 만들었는데 thread가 한번만 돌고 멈춥니다.
또 로그도 3개가 떠야하는데 두번째 "랜덤생성후"까지만 뜨고 마지막 로그는 뜨지 않습니다.
onclicklistener를 받아서 구현했고 onclick까지 가는데 어째서 마지막 로그는 뜨지 않으며,
thread는 한번밖에 돌지 않을까요.
혹시 제가 만든 thread에서 ui를 호출한 것이 문제가 되는걸까요?
 
 class RandomRunnable implements Runnable {
   
  
RandomRunnable(){
  }
  public void run(){
   
   try {
    for(; ;){
    Log.d("log", "랜덤생성전");
    intRan = random.nextInt(8);
    Log.d("log", "랜덤생성후"+intRan);
    imgbtn[intRan].setVisibility(View.VISIBLE); // 이 부분과
    imgbtn[i].setVisibility(View.VISIBLE); // 이 부분이 문제 인것 같습니다. 이 부분을 주석처리하면 무한루프가
    Log.d("log", "visible after"); // 잘 돌기 때문입니다; 여기 로그도 뜨구요
    Thread.sleep(1000);
    i++; 
    }
   
    
     }
   catch (NullPointerException e) {
    } 
   catch (Exception e) {
    // TODO: handle exception
   }
  }
 }
 
 public void onClick(View v) {
  // TODO Auto-generated method stub
  Log.d("log", "onClick");
  switch (v.getId()) {
  case R.id.start_btn:
   for(int i =0; i<9 ;i++ ){
    imgbtn[i].setVisibility(View.INVISIBLE);
   }
   btn_start.setEnabled(false);
   thread1.start();
   break;
  case R.id.imgbtn0:
   Log.d("log", "0");
   imgbtn[0].setVisibility(View.INVISIBLE);
  case R.id.imgbtn1:
   Log.d("log", "1");
   imgbtn[1].setVisibility(View.INVISIBLE);
  case R.id.imgbtn2:
   Log.d("log", "2");
   imgbtn[2].setVisibility(View.INVISIBLE);
  case R.id.imgbtn3:
   Log.d("log", "3");
   imgbtn[3].setVisibility(View.INVISIBLE);
  case R.id.imgbtn4:
   Log.d("log", "4");
   imgbtn[4].setVisibility(View.INVISIBLE);
  case R.id.imgbtn5:
   Log.d("log", "5");
   imgbtn[5].setVisibility(View.INVISIBLE);
  case R.id.imgbtn6:
   Log.d("log", "6");
   imgbtn[6].setVisibility(View.INVISIBLE);
  case R.id.imgbtn7:
   Log.d("log", "7");
   imgbtn[7].setVisibility(View.INVISIBLE);
  case R.id.imgbtn8:
   Log.d("log", "8");
   imgbtn[8].setVisibility(View.INVISIBLE);
  case R.id.save_btn:
   for(int i =0; i<9 ;i++ ){
    imgbtn[i].setVisibility(View.VISIBLE);
   }
   btn_start.setEnabled(true);
  
  default:
   break;
  }
 }