Android Studio 开发Toast在子线程中的问题
本博客是记录使用android studio开发中遇到的问题及解决办法:
大多都知道在Android线程中:主线程不能进行网络操作,子线程中不能进行UI操作。所以会另开一个子线程去处理网络操作或是新建一个类封装起来。在做测试的时候一般会进行log日志的打印或弹一个Toast出来查看效果。
有时候只记着不能进行UI操作,大多想着什么ImageView、progressbar等,忽略了Toast也不能在子线程中进行操作。有的时候Android studio在你编写的时候就会报错,有的时候是运行之后报异常。如果只是单纯的测试想直观的在真机上面看到文字效果,不用log日志的话,可以采用以下方式解决问题,使Toast在子线程中操作,并且程序不报错或异常:
//这一句代码
Looper.prepare();
Toast.makeText(this ,"账户或密码输入错误!!!请重新输入。",Toast.LENGTH_SHORT ).show();
//这一句代码加上就行了
Looper.loop();
不过最好还是采用MVP思想,使view和逻辑分开写。