这里我在Xamarin Forms Android中显示吐司消息
我的代码: 在我的Android类中
out[i]= [sum(v[1]), sum(v[2]),..., sum(v[i])]
我在用户单击A Button时显示此Toast消息。但是,当用户快速单击按钮时,它将连续推送(5次按钮单击showung Toast 5次)。 所以我想如果用户第二次单击该按钮,则应该取消之前的吐司。 如何在Xamarin表单android中做到这一点?
答案 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();
}
}