android - 如何在不等待当前 toast 完成的情况下立即用第二个 toast 替换当前 toast ?

标签 android android-layout

<分区>

我有很多按钮。点击它们中的每一个,我都会显示一个 toast 。但是,当一个 toast 加载并显示在 View 中时,单击另一个按钮并且 toast 不会显示,直到正在显示的那个结束。

所以,我想找出一种方法来检测当前上下文中是否显示了 toast。有没有办法知道是否正在显示 toast,以便我可以取消它并显示新的。

最佳答案

您可以在 Activity 的变量中缓存当前的 Toast,然后在显示下一个 toast 之前取消它。这是一个例子:

Toast m_currentToast;

void showToast(String text)
{
    if(m_currentToast != null)
    {
        m_currentToast.cancel();
    }
    m_currentToast = Toast.makeText(this, text, Toast.LENGTH_LONG);
    m_currentToast.show();

}

另一种即时更新Toast消息的方法:

void showToast(String text)
{
    if(m_currentToast == null)
    {   
        m_currentToast = Toast.makeText(this, text, Toast.LENGTH_LONG);
    }

    m_currentToast.setText(text);
    m_currentToast.setDuration(Toast.LENGTH_LONG);
    m_currentToast.show();
}

关于android - 如何在不等待当前 toast 完成的情况下立即用第二个 toast 替换当前 toast ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6496725/

相关文章:

android - Activity 不显示在最近的 android 中

c# - 当我单击 GridView 项时返回 ImageView 实例

android - 如何在 ListView 中的项目组之间创建透明空间?

android - 我可以更改 Android Layout Transition 的行为以消除淡入淡出但保持高度动画吗?

Horizo​​ntalScrollView 中的 Android ImageView 获取屏幕宽度的两倍

android - list 合并因多个错误而失败

android - Android WebRTC 中的本地视频渲染器

android - 扩展 Firebase 用户

android - 我必须使用哪种布局来制作如下所示的设计

Android 键盘隐藏 EditText