【发布时间】:2017-03-22 11:55:01
【问题描述】:
我希望能够在点击事件中通过循环器在后台运行我的特定方法,这是正确的方法吗?
myThread = new LooperThread();
myThread.start();
upload.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
}
});
stop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
myThread.handler.post(new Runnable() {
@Override
public void run() {
//my methods
}
});
}
});
还有我的 Looper 类:
class LooperThread extends Thread {
Handler handler;
public void run() {
Looper.prepare();
handler = new Handler();
Looper.loop();
}
}
如果是, 问题是这样,我不明白为什么在我输入“myThread.handler.post..”时系统无法识别“处理程序”并运行方法。
要不然,你能帮我做这个吗?
如果我在提问时犯了错误,我很抱歉,但这是我第一次来这里:)``
【问题讨论】:
-
技术上是正确的。但是为此,您还需要HandlerThread 来创建一个带有循环器的线程,您可以使用它来创建一个处理程序。
-
感谢您的回答,但我不清楚 HandlerThread 究竟是如何工作的。你能说得更具体点吗?