0
내 메인 스레드 내
runnable
정의한 다음 아래와 같이 다른 스레드에 인수로 전달하려는
-사용자 정의 스레드에서 실행 가능한 인수를 실행 클래스
final Runnable runnable = new Runnable() {
@Override
public void run() {
Log.i("Running runnable","");
}
};
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
text.setText(msg.obj.toString());
}
};
ThreadTest handlerThreadTest = new ThreadTest(runnable, handler);
handlerThreadTest.start();
ThreadTest
클래스는 다음과 같이 정의된다 -
public class ThreadTest extends Thread {
private Handler handler;
private Runnable runnable;
public ThreadTest(Runnable runnable, Handler handler) {
this.handler = handler;
this.runnable = runnable;
}
@Override
public void run() {
super.run();
runnable.run();
Message msg = handler.obtainMessage();
msg.obj = "YUSSSSSS!";
handler.sendMessage(msg);
} }
는 내가 로그 캣에서 아무 것도 볼 수 없기 때문에 작동하지 않는 것 내 핸들러하지만 runnable.run()
에 "YUSSSSSS"메시지를 보낼 수 있어요.
어디서 이런 오류가 발생합니까?