package org.carelife.creader.util; import android.content.Context; import android.os.Handler; import android.widget.Toast; /** ���ԭ����Toast��ʾ��ʧ֮ǰ���ٴε���Toast.show()���н����� */ public class ToastUtil { private Toast toast = null; private Context context; private Handler handler = null; private static ToastUtil instance; private Runnable toastThread = new Runnable() { public void run() { // ������count���Եر����Dz��������µ�Toast.show()�Ľ���� // toast.setText(String.valueOf(showCount++) + "CustomToast"); toast.show(); // 3.3����ٶ���������Ϊ4s�Ļ����ῴ��Toast�Ƕ϶���������ʾ�ŵġ� handler.postDelayed(toastThread, 3300); } }; public static ToastUtil getInstance(Context context){ if (instance == null){ instance = new ToastUtil(context); } return instance; } private ToastUtil(Context context) { this.context = context; handler = new Handler(this.context.getMainLooper()); toast = Toast.makeText(this.context, "", Toast.LENGTH_LONG); } public void setText(String text ,final long length) { toast.setText(text); showToast(length); } public void setText(String text) { toast.setText(text); showToast(1500); } public void showToast(final long length) { stopToast(); handler.post(toastThread); Thread timeThread = new Thread() { public void run() { try { Thread.sleep(length); } catch (InterruptedException e) { e.printStackTrace(); } ToastUtil.this.stopToast(); } }; timeThread.start(); } public void stopToast() { // ɾ��Handler�����е��Դ���ȴ�����ϢԪ��ɾ�� handler.removeCallbacks(toastThread); // ����������ʾ��Toast toast.cancel(); } }