Android 中 吐司显示不出来的原因分析
2024-08-29 03:26:06
当你发现你的toast的show方法的确被执行了,但是却没有在界面中显示出来,
有问题的地方可能有两点:
1.Context上下文对象有问题,不是当前的上下文对象或者什么的;
2.message(即Toast要显示的问题)有问题,可能message最后为“”。
如果这两个问题都没有错的话,就要考虑安卓不允许在子线程中更改UI
要解决这个问题就简单了,在子线程中通过handler传递接收数据来显示Toast即可。
比如在实现反馈页面的时候。
这是反馈成功时子线程中的代码,反馈失败就不写了。
Message message = new Message();
message.what = SUCCESS_SEND;
handler.sendMessage(message);
下面是在handler中获得数据
private Handler handler = new Handler() {
public void handleMessage(android.os.Message msg) {
String text = null;
switch (msg.what) {
case CONTENT_NULL:
text = "反馈内容不能为空";
break;
case SUCCESS_SEND:
text = "谢谢您的反馈";
default:
break;
}
Toast toast = Toast.makeText(FeedbackActivity.this, text,
Toast.LENGTH_LONG);
toast.setGravity(Gravity.TOP, 0, 0);
toast.show();
Log.d(TAG, text);
};
};
最新文章
- Linux实战教学笔记08:Linux 文件的属性(上半部分)
- C++Primer学习笔记(1)
- UVA 11481 Arrange the Numbers(组合数学 错位排序)
- C# v3微信 access token 过期处理的问题
- Tomcat不输入项目名进入自己项目(根目录指向自己的项目)
- NuGet学习笔记——初识NuGet及快速安装使用
- 使用Spring AOP预处理Controller的参数
- 关于js中单双引号以及转义符的理解
- 读取properties配置文件,value值为中文时出现乱码
- valueError: This solver needs samples of at least 2 classes in the data, but the data contains only one class: 0
- python with用法举例
- DevExpress.XtraCharts曲线上的点所对应的坐标值
- 第八集:魔法阵 NTT求循环卷积
- QEMU漏洞挖掘
- input框设置onInput事件只能输入数字,能兼容火狐IE9
- java.lang.IllegalStateException: Cannot call sendError() after the response has been committed解读
- 存储过程存储过程需要用两个'',先where再Group,再Order by
- mui中a标签的跳转问题
- 字体渲染技术(字体抗锯齿技术) -webkit-font-smoothing: antialiased;
- 2018.11.14 hibernate中的查询优化---关联级别查询
热门文章
- LeetCode 323. Number of Connected Components in an Undirected Graph
- webpack 单页面应用实战
- C# Message 消息处理
- 四、Jmeter--参数化
- 4、运行成功的Demo(PyCharm+Selenium)
- Azure上通过haproxy实现APP Gateway或WAF的http跳转https
- java代码异常处理
- Java-API-Package:java.io
- [phonegap]安装升级
- 2014.2.23加载大数据时不闪烁的listView