如何从线程向主 UI 循环器发布消息?我正在研究一个独立的助手类,它应该显示一个窗口。
一个不好的解决方案是通过构造传递一个视图,然后使用 View.post(),但我正在寻找一个更好的解决方案。
我认为这会起作用,但我得到了常见的“在 ui 线程上没有”异常。
public class Example {
private Context context;
public Example(Context context) {
this.context = context;
}
public void build() {
}
public void show() {
Handler handler = new Handler(Looper.getMainLooper());
handler.post(new Runnable() {
@Override
public void run() {
Toast.makeText(context, "test", Toast.LENGTH_LONG);
}
});
}
}