zoukankan      html  css  js  c++  java
  • android 该项目的优化toast优化技巧

    我们这样做的时候经常登录认证使用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);

    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    三维偏序(陌上花开)
    【题解】洛谷P4735最大异或和
    【题解】CF#229 E-Gifts
    【题解】JXOI2017颜色
    【题解】SDOI2009Bill的挑战
    【题解】CF#960 H-Santa's Gift
    【题解】Atcoder ARC#85 E-MUL
    【题解】CF#1012 C-Hill
    【题解】CF#852 E-Casinos and travel
    【题解】Atcoder ARC#90 F-Number of Digits
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/4810656.html
Copyright © 2011-2022 走看看