在Async中使用Toast

 Caused by: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()  

在報錯的方法前加Looper.prepare(); 
方法末尾加Looper.loop();

在async裏面調用toast時候 會報錯 toast前後加就可以解決

但是問題來了 loop是一個循環 如果是你要在toast後面還要執行 這種方式就不可行


你需要這樣

public void toast(final String s)
   {
       Handler handler=new Handler(Looper.getMainLooper());
       handler.post(
               new Runnable() {
                   @Override
                   public void run() {
                       Toast.makeText(context,s,Toast.LENGTH_SHORT).show();
                   }
               }
       );

使用handler發送一個消息  然後在async中調用 toast(str); 就可以解決了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章