我正在实施的概念是,如果今天有一个提醒信息只显示一次。
示例5-8-14只有一次toast消息显示。
6-8-14只有一次吐司留言显示 “ 在每个日期只有一次吐司表演。
编辑: 只有在首次启动App后,才会出现带有当前日期的Toast。如果我第二次或第三次启动我的应用程序,那么就不应该出现toast
答案 0 :(得分:0)
逻辑:
<强>什么强>
1.当您展示吐司时,请在sharedPreferences中保存日期/日
2.然后每次将“今天的日期”的值与sharedPref值进行比较,如果不同,则显示toast。
如何强>
- 为toast创建一个函数,在其中更新Shared Pref值。
- 在“if”循环中,比较默认的共享pref值 - 因此当您第一次运行应用程序时,它将返回默认值并进入show toast功能。
例如
if(!(sharedPrefSavedDate.equals(sharedPrefDefaultValue))){
if(!(String.valueOf(new SimpleDateFormat("dd").format(new java.util.Date())).equals(sharedPrefSavedDate)){
showToast();
}
}
在showToast()
内,在共享偏好设置中保存今天日期的值。
保存的值可以是整数或字符串。可以相应地将.equals
更改为!=
=
。
答案 1 :(得分:0)
查看sharedPreferences。 这是Android开发人员的链接:sharedPreferences
首次开始后设置一个bool值,每次开始后检查此值,如果该值为真,则不要显示吐司
GETDATE:
Calendar c = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("dd:MMMM:yyyy");
String strDate = sdf.format(c.getTime());
写:
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putBool("Toast", True);
editor.putString("Date", strDate);
editor.commit();
读:
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
bool bToast = sharedPref.getBool("Toast", False);
String strDate = sharedPref.getString("Date", null);