为什么this GIF中显示的吐司消息在消失之前就消失了?我尝试在开始新活动(登录活动)之前,从第一个活动(密码重置活动)显示吐司消息。我还尝试过在onResume()中显示来自新活动的吐司消息,它具有相同的效果。同样,如在GIF中所见,如果我点击应该在的位置,则吐司消息将重新出现,直到它真正完成为止。编辑:实际上,如果我在屏幕上的任何位置点击,都会显示烤面包消息。
编辑:这是敬酒消息的代码:
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中一样),它的持续时间更长(如预期的那样)。事实是,我不必点击以使其在整个持续时间内显示。
答案 0 :(得分:0)
您可以通过更改第三个参数来轻松更改Toast的长度:
Toast.makeText(this, "Hello World", Toast.LENGTH_LONG).show();
或
int duration;
Toast.makeText(this, "Hello World", duration).show();
答案 1 :(得分:0)
您可以使用处理程序延迟功能
malloc
已修改为您的代码
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
//do something
}
}, 3000 ); //time in milisecond
答案 2 :(得分:0)
就放
Toast.makeText(this, "Hello World", Toast.LENGTH_LONG).show();
如果不起作用,请从设备上卸载应用并安装
答案 3 :(得分:0)
尝试将Toast代码放在finish()之后,例如:
auth.sendPasswordResetEmail(email)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
startActivity(new Intent(ResetPasswordActivity.this, LoginActivity.class));
finish();
Toast.makeText(ResetPasswordActivity.this, "We have sent you instructions to reset your password!", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(ResetPasswordActivity.this, "Failed to send reset email!", Toast.LENGTH_SHORT).show();
}
progressBar.setVisibility(View.GONE);
}
});
答案 4 :(得分:0)
您可以尝试为结果启动RestartPasswordActivity:
Intent intent = new Intent(this, Activity.class);
startActivityForResult(intent);
通过以下方式破坏此活动:
Intent returnIntent = new Intent();
returnIntent.putExtra("result",result);
setResult(Activity.RESULT_OK,returnIntent);
finish();
并通过以下方式在LoginActivity中获取此值:
@Override protected void onActivityResult(int requestCode,
int resultCode, Intent data) {
if (requestCode == 1) {
if(resultCode == Activity.RESULT_OK){
boolean result = data.getBooleanExtra("result");
if(result)
Toast.makeText(this, "Text", Toast.LENGTH_LONG).show();
}
}
}
答案 5 :(得分:0)
Option Explicit
Sub FixSheets()
Dim ws As Worksheet
For Each ws In Worksheets
ws.Activate
ws.UsedRange.Select
ActiveWindow.Zoom = True 'Zoom sur la sélection
ActiveCell.Select
Next ws
End Sub