我是靠谱客的博主 可靠蜗牛,最近开发中收集的这篇文章主要介绍Android Can‘t toast on a thread that has not called Looper.prepare()错误,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

已经编写好的专门用于toast显示的函数

//提示信息显示
    public void showToast(String msg){
        Toast.makeText(mContext, msg, Toast.LENGTH_SHORT).show();
    }

通过在另外一个activity调用该方法showToast()

 public void onResponse(Call call, Response response) throws IOException {
                 String result = response.body().string();
                 showToast(result);
            }

出现了Can’t toast on a thread that has not called Looper.prepare(),这是因为主线程才能处理UI操作,在工作线程是不能处理UI操作的
此时我们可以通过以下方式解决该问题

 public void onResponse(Call call, Response response) throws IOException {
                 String result = response.body().string();
                 runOnUiThread(new Runnable() {
                     @Override
                     public void run() {
                         showToast(result);
                     }
                 });
                 
            }

让我们的Toast方法在主线程执行

最后

以上就是可靠蜗牛为你收集整理的Android Can‘t toast on a thread that has not called Looper.prepare()错误的全部内容,希望文章能够帮你解决Android Can‘t toast on a thread that has not called Looper.prepare()错误所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部