class exeThread extends Thread
{
int delay, 초;
TextView txt;
public exeThread(int delay, TextView txt)
{
this.delay = delay;
this.txt = txt;
}
@Override // run 재정의
public void run()
{
Handler 핸들1 = txt.getHandler();
핸들1.post(new Runnable() {
@Override
public void run(){
txt.setText("5");
while (true)
{
초 = Integer.parseInt(txt.getText().toString());
if (초 <= 5 && 초 >= 0) 초 = 초 - 1;
else if (초 < 0) 초 = 5;
txt.setText(초);
try {
Thread.sleep(delay);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
});
}
}
class MainActivi extends Activity {
버턴3.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
Thread obj1 = new exeThread(1000, 에디트텍스트1);
obj1.start();
}
}
두 개의 서로 다른 클래스에서, 쓰레드 만들고 상대쪽 ui 접근하려고 핸들 구현하였는데요.
실행시 에러는 없는데요. 숫자 5가 나와야 하는데요. 아무런 변화가 없습니다.
저 핸들로 구현한 문법이 타이머에서는 정상 작동했거든요.
그 형식 그대로 갔다가 썼는데요. 아무 작동도 안 하네요.
뭐가 빠져서 안되나요?