今天我就遇到Toast不显示的问题. 在很多时候,由于android自带的Toast在连续点击后会逐个显示出来,当你连续点击很多次之后,就算你退出软件也会显示.这就有点尴尬了,所以很多时候我们会简单的用这样的形式来避免这个问题:
public static void makeText(Context context, String text, int time) {
if (mToast == null) {
mToast = Toast.makeText(context, text, time);
} else {
mToast.setText(text);
mToast.setDuration(time);
}
mToast.show();
}
这只是一个例子,当然这不是今天的主要问题,当我们在遇到Toast不显示的时候首先后看看,
1, 是否有加上.show()
2,显示的内容是否为空
3,Context上下文是否为空
但是有时候,上面的问题都没有出现,但是Toast却不显示..这个问题可能会出现在权限那边,有些手机会自动屏蔽掉Toast的显示,当然,更多的是在手机的:设置-->应用-->你的app-->通知消息 如果关闭可能会导致Toast不显示的问题. 这个问题的解决办法一般是,让用户开启通知消息, 还有就是自定义Toast,不要用系统的.. 实际上我们可以直接看Toast的源码,进行复制修改就可以使用了...