如何显示来自另一个类中的线程的Toast消息

时间:2016-05-31 09:31:17

标签: android multithreading toast android-runonuithread

我正在开发一个应用程序,我需要显示来自另一个类中运行的线程的Toast消息。 我阅读了关于runOnUiThread但它不起作用..在主要的Activty中有一个对另一个java类的调用,这里有与Web服务器的连接,我从服务器处理Http的消息。在这里,如果我收到204条消息,我需要举杯祝酒。如何实现runOnUiThread?

由于

2 个答案:

答案 0 :(得分:0)

我建议您使用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
    } 

});

漂亮,对吧?

答案 1 :(得分:0)

将您的活动的引用传递给该工作者类并像这样调用 runOnUiThread

 activity.runOnUiThread(new Runnable() {
    public void run() {
        Toast.makeText(activity, "Your Message here", Toast.LENGTH_SHORT).show();
    }
});