我正在开发一个应用程序,我需要显示来自另一个类中运行的线程的 Toast 消息。我阅读了有关 runOnUiThread 的信息,但它不起作用。在主要活动中,有一个对另一个 java 类的调用,这里有一个到网络服务器的连接,我处理来自服务器的 Http 消息。在这里,如果我收到 204 条消息,我需要敬酒。如何实现 runOnUiThread?
谢谢
我正在开发一个应用程序,我需要显示来自另一个类中运行的线程的 Toast 消息。我阅读了有关 runOnUiThread 的信息,但它不起作用。在主要活动中,有一个对另一个 java 类的调用,这里有一个到网络服务器的连接,我处理来自服务器的 Http 消息。在这里,如果我收到 204 条消息,我需要敬酒。如何实现 runOnUiThread?
谢谢
我建议你使用Retrofit库。它为你处理所有线程的东西,你不必重新发明轮子。
//make request in ui thread
yourService.getMyData().enqueue(new Callback<YourResponse>() {
@Override
public void onResponse(Response<YourResponse> response) {
//handle responses in ui thread
if (response.isSuccess()) {
//Toast.makeText()..
} else {
//error
}
}
@Override
public void onFailure(Throwable t) {
//toast the error
}
});
漂亮,对吧?
将您的活动引用传递给该工作类并像这样调用runOnUiThread
activity.runOnUiThread(new Runnable() {
public void run() {
Toast.makeText(activity, "Your Message here", Toast.LENGTH_SHORT).show();
}
});