快速单击按钮时连续显示的吐司消息

时间:2018-12-31 10:30:01

标签: xamarin xamarin.forms

这里我在Xamarin Forms Android中显示吐司消息

我的代码: 在我的Android类中

out[i]= [sum(v[1]), sum(v[2]),..., sum(v[i])]

我在用户单击A Button时显示此Toast消息。但是,当用户快速单击按钮时,它将连续推送(5次按钮单击showung Toast 5次)。 所以我想如果用户第二次单击该按钮,则应该取消之前的吐司。 如何在Xamarin表单android中做到这一点?

2 个答案:

答案 0 :(得分:0)

您可以尝试取消Toast,因为它不会长时间显示在屏幕上

public void ShowToast(string message)
{
    if (objToast!= null)
    {
        objToast.Cancel();
    }
    objToast = Toast.MakeText(Forms.Context, message, ToastLength.Short);
    objToast.Show();
}

像这样在班级声明objToast

private Toast objToast;

答案 1 :(得分:0)

您可以添加点击的有效时间,例如,只有第一次点击在3秒内对多次点击有效,因此您可以更改代码:

public static int MIN_CLICK_DELAY_TIME = 3000;//the effective time
private long lastClickTime = 0;

public void ShortAlert(string message)
   {            
       long currentTime = Calendar.Instance.TimeInMillis;
       if (currentTime - lastClickTime > MIN_CLICK_DELAY_TIME)
           {
             lastClickTime = currentTime;
             Toast.MakeText(Forms.Context, message, ToastLength.Short).Show();    
           }        
   }