Toast重复显示问题 自学使用

本文介绍了解决Android中Toast重复显示问题的两种方法。第一种方法通过检查并更新已存在的Toast实例来实现,避免了频繁创建新对象。第二种方法则通过取消当前Toast并更新文本的方式达到目的。这两种方案有效减少了内存开销。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对于Toast的重复显示问题,寻求到两种方法

第一种 参考百度地图API中ItemizedOverlayDemo(稍作修改)

public class MyToast{
        private static Context context = null;
	private static Toast mToast = null;

        public static Toast getToast(Context context,String hint){
                if (null == mToast)
                        mToast = Toast.makeText(context, hint, Toast.LENGTH_SHORT);
                else
                        mToast.setText(hint);
                mToast.show();
        }
}

第二种 参考http://mwxboy.diandian.com/post/2012-04-25/19583598 

public class MyToast{
        private static Context context = null;
	private static Toast toast = null;

	public static Toast getToast(Context context,String hint){
		if(MyToast.context == context){
			toast.cancel();
			toast.setText(hint);
			System.out.println("没有新创建");
		}else{
			System.out.println("创建了一个新的toast");
			MaToast.context = context;
			toast = Toast.makeText(context,hint,Toast.LENGTH_SHORT);
		}
		return toast;
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值