我们这样做的时候经常登录认证使用toast提示用户输入出现错误等。。很多人都直接使用
Toast.makeText(LoginActivity.this, "请联系小区的物业管理", Toast.LENGTH_SHORT) .show();
然而。以登陆功能为例。用这个的时候你会发现我在没有输入username的时候一直点击登陆button。程序会一直提示"请输入username"等字样。然后你不点击的时候,程序还会提示。直到提示到跟你点击次数一致时,才会停止提示,这样给用户的体验是极度不好的,所以提供一个toast的类,
public class CustomToast { private static Toast mToast; private static Handler mhandler = new Handler(); private static Runnable r = new Runnable() { public void run() { mToast.cancel(); }; }; public static void showToast(Context context, String text, int duration) { mhandler.removeCallbacks(r); if (null != mToast) { mToast.setText(text); } else { mToast = Toast.makeText(context, text, Toast.LENGTH_SHORT); } mhandler.postDelayed(r, 5000); mToast.show(); } public static void showToast(Context context, int strId, int duration) { showToast(context, context.getString(strId), duration); } }
这样就能够解决一直弹toast消息的问题了
调用方法:CustomToast.showToast(this,"要内容输出",Toast.LENGTH_SHORT);
版权声明:本文博主原创文章,博客,未经同意不得转载。