안드로이드 개발 질문/답변
(글 수 45,052)
bt.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(thread != null && thread.isAlive()){
thread.interrupt();}
thread = new Thread(new Runnable() {
int mBackValue = 0;
int Value=1100 - (speed * 100);
@SuppressWarnings("static-access")
public void run() {
while(!thread.interrupted()) {
//무한 반복하면서 1초에 1씩 증가
if(mBackValue <= 100){
mBackValue++;}
else{ mBackValue=1; }
Message msg = Message.obtain(mHandler, 0, mBackValue, 0);
mHandler.sendMessage(msg);
try {
Thread.sleep(Value);
} catch(InterruptedException e) {}
}
}
});
thread.start();
}});
스레드를 종료시키고 새로운 스레드를 만들어서 실행시키는 것을 해보고있는데....
stop()은 에러발생해서 안되고,
인터넷을 찾아보다가 interrupt()을 이용하면 종료할수있다는 글을 보고
예제도 복사해서 적용해봤는데...
여전히 중복되서 실행되고 있습니다.
제가 잘못 사용한 것인지...
아니라면 뭔가 문제인지...
질문 드립니다!




thread = null; 을 시켜주신 후 new Thread 를 생성하셔야 할 듯합니다.