首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >祝酒词来了多次

祝酒词来了多次
EN

Stack Overflow用户
提问于 2013-01-13 04:43:28
回答 3查看 7.8K关注 0票数 4

在我的应用程序中,在单击按钮时,我将创建一个Toast,如-

代码语言:javascript
运行
复制
Toast.makeText(context,"Please Enter Username",Toast.LENGTH_SHORT).show();

但是当有人点击5-6次并关闭应用程序,或在另一个屏幕上,它仍然继续显示烤面包在另一个屏幕上的一段时间。我已经看到了许多相同的解决方案。

我试过-

代码语言:javascript
运行
复制
toast = Toast.makeText(LoginActivity.this, message, Toast.LENGTH_SHORT);
        toast.show();

取消了这份祝酒词-

代码语言:javascript
运行
复制
onPause(){

if(toast!=null){
toast.cancel();

}

onDestroy()上也一样

我希望,当任何人点击5-6次按钮,并退出应用程序或活动,祝酒词信息应该消失。或者建议其他人来解决同样的问题。

EN

回答 3

Stack Overflow用户

发布于 2013-01-13 04:48:25

但是它给了我一个力,因为Toast从来没有通过使用Toast.makeText()来调用;

您可以使字段变量和方法一次只显示一个Toast:

代码语言:javascript
运行
复制
Toast toast;

public void displayToast(String message) {
    if(toast != null)
        toast.cancel();
    toast = Toast.makeText(context, message, Toast.LENGTH_SHORT);
    toast.show();
}

onPause()中,退出时取消任何现有的烤面包:

代码语言:javascript
运行
复制
protected void onPause() {
    if(toast != null)
        toast.cancel();
    super.onPause();
}

现在,每当您想要显示一个烤面包时,只需调用:

代码语言:javascript
运行
复制
displayToast("Please Enter Username");
票数 16
EN

Stack Overflow用户

发布于 2013-01-13 07:04:20

试试这个:

代码语言:javascript
运行
复制
Toast mToast;

  @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mToast = Toast.makeText(this, "", Toast.LENGTH_SHORT);
      }

    @Override
    protected void onPause() {
        mToast.cancel();
        // TODO Auto-generated method stub
        super.onPause();
    }

    public void abc(View c) {

        mToast.cancel();
        mToast.setDuration(Toast.LENGTH_SHORT);
        mToast.setText("This is hi" + (i++));
        mToast.show();

    }

而不是使用'Toast.makeText‘,使用’mToast.setText(“)的方式,您将达到您想要的输出。

票数 0
EN

Stack Overflow用户

发布于 2022-08-30 20:12:30

我也有同样的问题。我找到解决这个问题的方法是在按钮方法之前声明我的烤面包,每次按下按钮就取消并重新创建吐司。这样,如果您多次按它,您将杀死Toast的前一个实例,并将一个新的Toast重新分配给您的变量。

代码语言:javascript
运行
复制
var toast: Toast = Toast.makeText(this, "your text", Toast.LENGTH_SHORT)

rollButton.setOnClickListener {
        toast.cancel()
        toast = Toast.makeText(this, "your text", Toast.LENGTH_SHORT)
        toast.show()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14300732

复制
相关文章

相似问题

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