Android 从共享首选项打开/关闭Toast?
有没有办法通过共享首选项中的复选框全局打开和关闭toast通知Android 从共享首选项打开/关闭Toast?,android,sharedpreferences,toast,Android,Sharedpreferences,Toast,有没有办法通过共享首选项中的复选框全局打开和关闭toast通知 PreferenceManager.setDefaultValues(this, R.xml.preferences, false); boolean showToast = myPrefs.getBoolean("showToast", true); 我在想也许可以上一节课: boolean showToast(){ //code } 但是我想,那么可能有一个全球性的解决方案吗
PreferenceManager.setDefaultValues(this, R.xml.preferences, false);
boolean showToast = myPrefs.getBoolean("showToast",
true);
我在想也许可以上一节课:
boolean showToast(){
//code
}
但是我想,那么可能有一个全球性的解决方案吗
我应该使用不同类型的通知系统吗
有什么想法吗?为什么不在共享首选项中添加复选框值,然后使用is作为标志,例如(flag){show toast},这不一样吗?您只能像现在这样为您的应用程序禁用或启用toast通知……但不能全局地为所有应用程序禁用或启用toast通知您可以尝试使用一个元素创建枚举-
public enum YourSingleton {
INSTANCE; // element in this enum
public static void makeToast(Context context, String msg) {
Toast toast = Toast.makeText(context, msg, Toast.LENGTH_LONG);
toast.show();
}
}
然后致电-
当您想打开或关闭时,您可以简单地在<强> MaKooStAd()/<强>方法中使用.< /P> < P>使用OnSyrdPraseCuxelistist.< /P> < P> >您可以考虑扩展toAST来创建您的自定义类,该类在显示图示之前足够智能地读取用户首选项。 然后重构代码,用SmartToast替换Toast
SmartToast.makeText(此“消息”,Toast.LENGTH_SHORT).show();
因此,请实现SmartToast.makeText()以返回SmartToast的实例并覆盖show(),如下所示:
@Override
public void show() {
if (PreferenceManager.getDefaultSharedPreferences(context).getBoolean("showToast", true)) {
super.show();
}
}
你走对了路。我已经解决了类似的问题,在我的设置视图中有一个按钮,用来调整
showtoos
。我为Toast.makeText()
做了一个包装,每次都检查这个,而不需要每次重复if(showtoos){…}
。
@Override
public void show() {
if (PreferenceManager.getDefaultSharedPreferences(context).getBoolean("showToast", true)) {
super.show();
}
}