在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); 就可以解决了

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