제 소스좀 봐주세요

 

 

bt을 선택하면 스레드를 이용하여 sleep을 실행하게 되는데

bt가 실행중 bt1버튼을 선택할수 없습니다. bt의 for문이 다 끝나야 bt1버튼을 선택할수 있는데

이러면 스레드를 사용하나마나 인것같은데...제가 잘못 사용하는건지...

 

제가 원하는것은 bt1선택시 bt의 for문이 동작하는중에 bt1의 "스레드 사용중" 이란 글씨를 줄력하고 싶은니다...

 

스레드 정말 어렵네요..ㅜ.ㅜ

 

 

package cim.threadTest;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.SystemClock;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

   
public class ThreadTest extends Activity {
 
 TextView tv1;
 Handler handler;
 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        Button bt = (Button)findViewById(R.id.bt);
   
        Button bt1 = (Button)findViewById(R.id.bt1);
        tv1 = (TextView)findViewById(R.id.text1);
        handler = new Handler();
       
       
       
     
        bt.setOnClickListener(new OnClickListener() {
         
   @Override
   public void onClick(View v) {
   
    new Thread(new Runnable() {
           public void run() {

               handler.post(new Runnable() {
                   public void run() {
                    for(int a= 0;a<100;a++){
                     SystemClock.sleep(20);
                      
                    }
                   }
               });
          
           }
       }).start();    
   }
  });
       
       
       
  bt1.setOnClickListener(new OnClickListener() {
   
   @Override
   public void onClick(View v) {
    tv1.setText("스레드중 작동");
    
   }
  });
    
 }
}