2016-05-31 17 views
0

私はアプリケーションを開発しており、別のクラスで動作するスレッドからトーストメッセージを表示する必要があります。 私はrunOnUiThreadについて読んでいますが、動作しません..主な活動では、別のJavaクラスへの呼び出しがあり、ここにWebサーバーへの接続があり、サーバーからのHttpのメッセージを処理します。ここで、私が204のメッセージを受け取ったら、私は乾杯をする必要があります。どうすればrunOnUiThreadを実装できますか?別のクラスのスレッドからトーストメッセージを表示するには

おかげ

+0

ようrunOnUiThreadを呼び出し、それがすでに –

+0

が_interface_とあなたが認識しています使用する準備ができてですか? – Piyush

答えて

0

は、その労働者クラスへのあなたのアクティビティの参照を渡すと、あなたはそれを実装していないこの

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

は、私は私のせいに理解:私のクラスでは、私は私の活動のコンテキストを呼び出ししようとしていたが、私は参照を渡されていなかった...だから参照を渡す、それが動作する... おかげで、時間を浪費して申し訳ありません! – Yoshi

+0

@ Yoshi問題ありません。それが助けられたら、答えを受け入れてください。 –

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 
    } 

}); 

美しいですね。

関連する問題