首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >持久化Toast消息: Toast在执行后不会消失

持久化Toast消息: Toast在执行后不会消失
EN

Stack Overflow用户
提问于 2013-03-21 13:52:56
回答 10查看 14.1K关注 0票数 6

我有一个不会在执行后消失的敬酒信息。我猜这与它在循环中有关,但我不确定。有人能帮我弄清楚为什么吐司信息没有不同吗?

代码语言:javascript
运行
复制
 @Override
public void onClick(View v) {
    int index = 0;
    for(int i= 0; i<userArray.length; i++){
        if(email.getText().toString().equals(userArray[i])){
            index = i;
        }
        if(passArray[index].equals(password.getText().toString())){
            Toast.makeText(getBaseContext(), "SUCCESS!", Toast.LENGTH_SHORT).show();

        } else {
            Toast.makeText(getBaseContext(), "INVALID LOGIN", Toast.LENGTH_SHORT).show();
        }
    }
    Intent mainIntent = new Intent(LoginActivity.this, MainActivity.class);
    startActivityForResult(mainIntent, 0);
}

}

EN

回答 10

Stack Overflow用户

发布于 2013-10-31 07:15:30

如果您从服务线程调用Toast消息,并且该线程在Toast被设置为消失之前完成其工作,则Toast消息可能会被卡住。然后,你会被屏幕上的Toast消息卡住,直到你杀死应用程序。

票数 13
EN

Stack Overflow用户

发布于 2013-03-21 13:54:26

Toast总是消失。一直都是。

因此,您将显示多条Toast消息。有保证。通过使用某种计数器更改消息或在显示初始消息后禁用消息来测试这一点。

请注意,相当多的Toast可能会堆叠在一起,并且需要很长时间才能完成背靠背的显示。等一下,只要你的应用程序没有无限循环,它们最终就会消失。

编辑:I stant更正。显然,如果从线程、服务或IntentService启动,Toast消息可能会卡住并保持显示。感谢@Johnathan和@zapotec。

票数 4
EN

Stack Overflow用户

发布于 2016-05-09 15:57:14

Toast并不总是消失。

如果您从服务线程调用Toast,并且该线程在Toast设置为消失之前完成了其工作,则屏幕上将显示Toast消息,直到您终止应用程序为止。

(由Jonathan Cole从原始答案复制,不幸被删除)

下面是一个堆栈跟踪示例,解释了这种情况是如何发生的:

代码语言:javascript
运行
复制
  java.lang.IllegalStateException: Handler (android.os.Handler) {123f93ea} sending message to a Handler on a dead thread
      at android.os.MessageQueue.enqueueMessage(MessageQueue.java:325)
      at android.os.Handler.enqueueMessage(Handler.java:631)
      at android.os.Handler.sendMessageAtTime(Handler.java:600)
      at android.os.Handler.sendMessageDelayed(Handler.java:570)
      at android.os.Handler.post(Handler.java:326)
      at android.widget.Toast$TN.hide(Toast.java:387)
      at android.widget.Toast.cancel(Toast.java:133)
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15540416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档