Android在thread中Toast不能显示问题解决

改写代码之前是:Toast.makeText(getApplicationContext(),
"test", Toast.LENGTH_LONG).show();

改写之后:

Looper.prepare();

Toast.makeText(getApplicationContext(), "test", Toast.LENGTH_LONG).show();

Looper.loop();

一般如果不是在主线程中又开启了新线程的话,一般都会碰到这个问题。

原因是在创建新线程的时候默认情况下不会去创建新的MessageQueue。

总结下:Toast 显示的必要条件:

1:Toast 显示需要出现在一个线程的消息队列中.... 很隐蔽

时间: 2024-10-13 00:06:06

Android在thread中Toast不能显示问题解决的相关文章

Android启动过程中背景图片显示

转自:http://blog.csdn.net/zhangzhikaixinya/article/details/17001321 大部分Android App启动过程中,都会设置一个背景图片,直到App加载成功,图片消失.因此,这也是做Android App的基本技能之一.这个过程实现起来并不难. 总共需要以下内容:2个Activity,一张背景图,2个xml配置文件,String.xml,AndroidManifest写入配置信息. 1 准备一张背景图图片,命名为load,自己选择图片格式.

Android widget] 华为honor toast不显示

华为honor机型,Toast组件不显示,我试过各种方式都不显示,其他厂商的机型都正常显示,就华为的不行,希望了解的朋友,帮忙解释下,这是什么原因,不胜感激. 解决方法: 通知是不是关闭了 设置 应用程序 找到你对应的程序 勾选显示通知 转:http://www.eoeandroid.com/thread-542297-1-1.html

Android appium自动化测试中Toast

1. 首先执行这个命令:npm install -g cnpm --registry=https://registry.npm.taobao.org       安装cnpm npm安装不了时,可以先安装NPM镜像,地址:https://npm.taobao.org/: npm install -g cnpm -- cnpm install appium-uiautomator2-driver   安装uiautomator2的配置文件 需要导入的包: from selenium.webdriv

Android中通过反射来设置Toast的显示时间

这个Toast的显示在Android中的用途还是非常大的,同一时候我们也知道toast显示的时间是不可控的.我们仅仅能改动他的显示样式和显示的位置,尽管他提供了一个显示时间的设置方法.可是那是没有效果的(后面会说到).他有两个静态的常量Toast.SHORT和Toast.LONG,这个在后面我会在源码中看到这个两个时间事实上是2.5s和3s. 那么我们假设真想控制toast的显示时间该怎么办呢?真的是无计可施了吗?天无绝人之路,并且Linux之父以前说过:遇到问题就去看那个操蛋的源码吧.!以下就

android中Toast显示时间自定义使用

Toast是安卓作为提示是经常需要用到的,然而有时一大堆Toast的弹出 让整个程序看着不够和谐.官方提供的也仅仅只有两种显示时间, Toast.LENGTH_LONG显示时间为3.5秒.Toast.LENGTH_SHORT显示 时间为2秒,下面给出自己定义的时间代码,见代码 /** * 根据自己的时间去定义一个Toast 输入时间为毫秒 * * @param c * @param info * @param time */ public static void setToatBytTime(C

Android Toast 重复显示问题

做程序员的,基本一看api就知道,用这个可以取消上一个toast的显示,然后显示下一个,这样就能解决出现的问题.可是在测试的过程中,发现却没有想象中的那么简单,不信可以百度一下,很多很多人发现toast的cancel()方法不起作用.还是不讲具体过程,只讲结果吧. 我把toast做成了一个应用类,方便使用,大家可以直接用: [java] view plaincopy public class ToastUtil { private static Handler handler = new Han

Android中Toast的用法简介

转自:http://www.cnblogs.com/GnagWang/archive/2010/11/26/1888762.html Toast是Android中用来显示显示信息的一种机制,和Dialog不一样的是,Toast是没有焦点的,而且Toast显示的时间有限,过一定的时间就会自动消失.下面用一个实例来看看如何使用Toast. 1.默认效果 代码 Toast.makeText(getApplicationContext(), "默认Toast样式",     Toast.LEN

Android应用程序中的多个Activity的显示创建和调用

布局文件: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orien

如何控制android系统中NavigationBar 的显示与隐藏

我们使用的大多数android手机上的Home键,返回键以及menu键都是实体触摸感应按键.如果你用Google的Nexus4或Nexus5话,你会发现它们并没有实体按键或触摸感应按键,取而代之的是在屏幕的下方加了一个小黑条,在这个黑条上有3个按钮控件,这种设置无疑使得手机的外观的设计更加简约.但我遇到身边用Nexus 4手机的人都吐槽这种设计,原因很简单:好端端的屏幕,被划出一块区域用来显示3个按钮(如下图所示):Back, Home, Recent.并且它一直用在那里占用着. 在androi