public class ToastUtils { private static Toast toast; private static View view; private ToastUtils() { } private static void getToast(Context context) { if (toast == null) { toast = new Toast(context); } if (view == null) { view = Toast.makeText(context, "", Toast.LENGTH_SHORT).getView(); } toast.setView(view); } public static void showShortToast(Context context, CharSequence msg) { showToast(context.getApplicationContext(), msg, Toast.LENGTH_SHORT); } public static void showShortToast(Context context, int resId) { showToast(context.getApplicationContext(), resId, Toast.LENGTH_SHORT); } public static void showLongToast(Context context, CharSequence msg) { showToast(context.getApplicationContext(), msg, Toast.LENGTH_SHORT); } public static void showLongToast(Context context, int resId) { showToast(context.getApplicationContext(), resId, Toast.LENGTH_LONG); } private static void showToast(Context context, CharSequence msg, int duration) { try { getToast(context); toast.setText(msg); toast.setDuration(duration); toast.setGravity(Gravity.CENTER, 0, 0); toast.show(); } catch (Exception e) { LogUtils.e(e.getMessage()); } } private static void showToast(Context context, int resId, int duration) { try { if (resId == 0) { return; } getToast(context); toast.setText(resId); toast.setDuration(duration); toast.setGravity(Gravity.CENTER, 0, 0); toast.show(); } catch (Exception e) { LogUtils.e(e.getMessage()); } } public static void cancelToast() { if (toast != null) { toast.cancel(); } } }