Android中防止Toast一直點選一直彈出
在使用工作中經常使用Toast,如果使用者連續點選很多下按鈕,可能Toast顯示一兩分鐘也不會消失,這就給我們的使用者造成了困擾。以下是解決辦法:
private int num = 0;//連續點選的次數
private static Toast toast;
private Toast getInstanceToast(Context context) {
if (toast == null) {
synchronized (TestActivity.this) {
if (toast == null) {
toast = new Toast(context);
}
}
}
return toast;
}
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
num++;
Toast toast = getInstanceToast(TestActivity.this);
LayoutInflater inflater = LayoutInflater.from(TestActivity.this );
View v = inflater.inflate(R.layout.toast_layout, null);// 得到載入view
TextView tv = (TextView) v.findViewById(R.id.tv);
tv.setText("第" + num + "次點選");
toast.setView(v);
toast.show();
}
});