【发布时间】:2018-12-18 22:09:30
【问题描述】:
为什么this GIF 中显示的 toast 消息会提前消失?我尝试在开始新活动(登录活动)之前显示来自第一个活动(密码重置活动)的 toast 消息。我还尝试在 onResume() 中显示来自新活动的 toast 消息,它具有相同的效果。此外,如 GIF 中所示,如果我点击它应该在的位置,则 toast 消息将重新出现,直到它真正完成。编辑:实际上,如果我点击屏幕上的任意位置,吐司消息会重新出现。
编辑:这是 toast 消息的代码:
auth.sendPasswordResetEmail(email)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Toast.makeText(ResetPasswordActivity.this, "We have sent you instructions to reset your password!", Toast.LENGTH_SHORT).show();
startActivity(new Intent(ResetPasswordActivity.this, LoginActivity.class));
finish();
} else {
Toast.makeText(ResetPasswordActivity.this, "Failed to send reset email!", Toast.LENGTH_SHORT).show();
}
progressBar.setVisibility(View.GONE);
}
});
我在使用 Toast.LENGTH_LONG 时遇到了同样的问题。它在与 Toast.LENGTH_SHORT 相同的时间内消失,但在我再次点击它以将其恢复后,它会持续更长的时间(如预期的那样),就像我在 GIF 中所做的那样。问题是,我不应该通过点击来让它显示完整的持续时间。
【问题讨论】:
-
为吐司贴一些代码?
-
这不是一个重复的问题,因为它询问如何使 Toast 消息持续时间超过 Toast.LENGTH_LONG。我只需要显示我的 Toast.LENGTH_SHORT 消息。我的问题导致 Toast.LENGTH_SHORT 和 Toast.LENGTH_LONG 过早消失。