对不起,我的英语不好。
我想按顺序显示两个吐司,换句话说,当第一个吐司持续时间超过第二个吐司时出现。
这是我的代码:
Toast.makeText(this, "Toast1", Toast.LENGTH_SHORT).show();
Toast.makeText(this, "Toast2", Toast.LENGTH_SHORT).show();
但只会出现第二条 toast 消息。我认为当第二个吐司的显示方法执行时它将取消之前的吐司(第一个吐司)
我用这段代码解决了我的问题:
Toast.makeText(this, "Toast1", Toast.LENGTH_SHORT).show();
Handler handler =new Handler();
handler.postDelayed(new Runnable()
{
@Override
public void run()
{
Toast.makeText(MainActivity.this, "Toast2", Toast.LENGTH_SHORT).show();
}
},1000);
但有没有更简单的解决方案呢?
但只会出现第二条 toast 消息。我想当展示方法时
第二个 Toast 将执行,它将取消前一个 Toast(第一个 Toast)
你打电话时show
方法,它会放入UI线程的消息队列中,并且Toast会按顺序显示。但是你同时放两个Toast,后者会和前者重叠。
我想按顺序显示两个吐司,换句话说,当第一个吐司时
持续时间超过第二个吐司出现。
From 吐司持续时间 https://android.googlesource.com/platform/frameworks/base/+/android-4.3_r2/services/java/com/android/server/NotificationManagerService.java
private static final int LONG_DELAY = 3500; // 3.5 seconds
private static final int SHORT_DELAY = 2000; // 2 seconds
要使第二个 Toast 在第一个 Toast 持续时间结束后显示,请将代码更改为
Toast.makeText(this, "Toast1", Toast.LENGTH_SHORT).show();
Handler handler = new Handler();
handler.postDelayed(new Runnable()
{
@Override
public void run()
{
Toast.makeText(MainActivity.this, "Toast2", Toast.LENGTH_SHORT).show();
}
}, 2000);
但有没有更简单的解决方案呢?
使用 Handler 是完成您的任务的简单解决方案。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)