Toast(土司)失效不显示

        这几天遇到了一个问题就是我的app的有一个Toast一直不显示,打Log和debug发现那句确实被执行了,但是界面却还是原样,没有效果,思考后觉得有问题的地方可能有两点:1.Context上下文对象有问题,不是当前的上下文对象或者什么的;2.message(即Toast要显示的问题)有问题,可能message最后为“”。


        因为这个类是通过Context类实例化的,并且方法中的一些步奏确实执行,所以我认为Context上下文对象没有问题,然后就是检查message的获取过程,debug几次都发现message确实获取了网络上的String数据,而且message是String类型并且有默认数据,所以这个原因也排除了,然后我就凌乱了o(╯□╰)o


        因为这个Toast显示是封装在一个类的方法中,在Activity通过实例化对象调用这个方法,最后我开始检查Activity的代码,在调用这个Toast显示的方法的上层看待,这个方法其实是在一个子线程中啊,尼玛~~~ android不允许在子线程中更改UI啊!居然犯了这个问题!


        既然知道了原因,解决办法就比较简单了,在子线程中通过handler传递接收数据来显示Toast即可。

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值