저는 HandlerThread를 확장하는 MyThread를 가지고 있으며, MyThread 클래스 내의 큐에 실행 파일을 게시해야합니다.HandlerThread가 자신의 큐에 게시해야합니다.
나는이 작업을 수행하는 방법을 알고있는 유일한 방법은 실행 가능한 연구를 게시 할
h = new MyHandler(Looper.myLooper());
다음 h.post(r)
를 호출하는 것입니다.
하지만 루퍼를 만들기 전에 스레드를 시작해야하기 때문에 새로운 MyHandler() 행을 어디에 넣을 지 잘 모르겠습니다. MyThread를 시작하고 거기에 runnables를 게시하는 또 다른 클래스가 있지만 이제는 클래스 내에서 실행해야합니다. 어떤 아이디어?
편집 :
class MyThread extends HandlerThread {
private MyHandler h;
private Runnable r;
MyThread(String name, int priority) {
super(name, priority);
//h = new MyHandler();
r = new MyRunnable();
}
@Override
public void start() {
super.start();
//h = new MyHandler();
}
class MyRunnable implements Runnable {
@Override
public void run() {
//...
}
}
void startCount(long delay) {
h.postDelayed(r, delay);
}
}
모두 주석 처리 된 줄은 동일한 결과를 생성 : R 대신 내가 달성하고자하는 것입니다이 HandlerThread에서 실행되는 주 스레드에서 실행됩니다.
내가 알고 호출'새가 MyHandler (Looper.myLooper()) 후 (R).'내가 잘 실행 가능한 작품을 게시 할 만 할 수있는 더 나은 방법이있을 때마다? – sundie