2 u010539561 u010539561 于 2016.03.09 10:51 提问

封装类似Toast工具,单例模式,对象是否可以无限使用?

在一个项目中封装好一个Toast类工具,是否可以在所有Activity类中重复使用,使用的时候在Activity哪个回调方法中初始化?谢谢!!

3个回答

danielinbiti
danielinbiti   Ds   Rxr 2016.03.09 11:00

toast需要在当前activity中添加ui组件信息,显示界面。
所以说只用一个activity初始化成单例肯定不行。
可以继承toast,重写和扩充。
然后activity还是该当做参数传入。

VqwertyV
VqwertyV   2016.03.09 17:27

可以的,初始化的时候传入Application的Context,然后封装一个方法只要传入字符串就可以。
public class ToastUtil{
private static Toast toast;
private static Context context

public static void init(Application context){
    this.context = context;
}

public void showToast(Stirng msg){
    if(toast == null){
        toast = Toast.makeText(context, msg, Toast.LENGTH_SHORT);
    }
    toast.show();
}

}
简单版的

VqwertyV
VqwertyV   2016.03.09 17:29

在自己的Application中初始化
public class MyApplication extends Application{
public void onCreate(){
super.onCreate();
ToastUtil.init(this);
}
}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
项目小结和单例模式下的toast
最近懒癌犯了,很久没有写文章了,也不是忙,就是不知道该写点啥。回顾这半年来,进步还是很大的,从最初的忐忑不安,到现在已经可以自己独立完成一个项目了,还是学习了很多知识,今天就把完成的项目小小总结一下吧,很多问题只有真正遇到才会解决。
自定义toast你需要的都在这里,单例模式,自定义布局,完全自定义,可拖动的悬浮窗
1.单例的toast 参考:Android 特殊的单例Toast(防止重复显示) public class MyToast { /** 之前显示的内容 */ private static String oldMsg ; /** Toast对象 */ private static Toast toast = null ;
ToastUtils
对Toast的封装,可以轻松一键式使用。采用的是单例模式
安卓-封装实用的Toast工具类
大家好,Toast这个提示框大家都晓得,显示一段时间后自动消失,不能获得焦点。但是在使用中有些问题: 1)需要弹出一个新的Toast时,上一个Toast还没有显示完 2)可能重复弹出相同的信息 3)Toast具体有哪些用法不是很熟悉,用到时导出去找 4)app退出去了,Toast还在弹 等等一系列问题 下面封装了一个工具类,帮助大家管理Toast,基本上可以满足常用的需求,如果
GSON的使用,单例模式
对于单例模式的讲解 GSON的详细讲解 20个很棒的android开源项目的开发 正则表达式参考网站
封装一个超级好用的ToastUtils帮助类
在代码中,如果toast连续进行会非常的恶心人,那么就对toast进行封装,以后就使用这个toast /** * Created by along on 2017/12/1,0001. * 邮箱:alongstorm@163.com */ public class ToastUtils { private static Context context = MyApp.getApp
iOS开发之类似Android中Toast效果制作
ios中没有类似于Androidtoast效果的提示,在提示用户的时候显得尤为不便,因此做了一个类似Toast的功能. UILabel *hintLabel = [[UILabel alloc] initWithFrame:CGRect(80,400,160,40)]; hintLabel.textAlignment = NSTextAlignmentCenter; hintLabel.ba
Qt仿Android的toast控件效果
使用Qt Widget Application技术实现桌面操作系统下类似Android的toast控件效果。Demo中实现为多线程的单例模式。
使用单例模式实现日志写入,附代码
单例模式保证一个类仅有一个实例,并提供一个访问的他的全局访问点。   由于单例模式和日志类的应用场景很相似,因为文件只能被一个进程打开。 所以使用单例模式获取日志文件的实例对象,避免了一个文件多次被打开造成的异常。 代码写了一下,不知道在实际应用的过程中还有没有问题,如果要使用请先测试一下。 如果有不正确的地方,请高手看过后指出来。谢谢!   1
Android通用自定义toast工具类(可在主线程和子线程中使用)
简单粗暴,先看效果:首先贴上工具类的代码:/** * 通用(主、子线程)的自定义Toast */ public class ToastUtil { private static final String TAG = "ToastUtil"; private static Toast toast; //如果只想在主线程中弹出自定义toast,则直接调用此方法即可 ...