- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个 ArrayList
的 Calendar
类型,我需要将其数据保存到 SharedPreferences
中.我可以保存String
ArrayList
使用此代码的数据:
Set<String> setName = new HashSet<String>();
setName.addAll(ignoredProcesses);
SharedPreferences shrdPref = getSharedPreferences("sharePref", MODE_PRIVATE);
SharedPreferences.Editor prefEditor = shardPref.edit();
prefEditor.putStringSet("keyValue", setName);
prefEditor.commit();
但如果我按照相同的方法保存 Calendar
数据,我在更改时遇到错误 Set
输入 String
.
如何保存 ArrayList <Calendar> list = new ArrayList<Calendar>();
进入SharedPreferences
以及如何从 SharedPrefernces
取回它.非常感谢您的帮助。谢谢
最佳答案
您必须使用方法 Calendar.getTimeInMillis() 将每个日历转换为长日历,然后使用方法 putLong(key, long) 将其保存在您的首选项中。您必须为每个条目更改 key 。这是一个例子:
SharedPreferences shrdPref = getSharedPreferences("sharePref",MODE_PRIVATE);
SharedPreferences.Editor prefEditor = shardPref.edit();
for(int i = 0; i<list.size();i++){
long millis = list.get(i).getTimeInMillis();
prefEditor.putLong("calendar"+i,millis);
prefEditor.commit();
}
然后您将使用以下方法检索它们:
int i =0;
while(shrdPref.getLong("calendar"+i,0)!=0){
Calendar cal = new GregorianCalendar();
cal.setTimeInMillis(shrdPref.getLong("calendar"+i,0));
list.add(cal);
i++;
}
有点乱,不确定它是否有效,请尝试并告诉我。
关于android - 如何在共享首选项中保存日历数据 : Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18018996/
我的组件的模板呈现一个列表: {{ m.name }} 组件为其设置动画 @Component({ selector: 'app-client-detail', tem
我在回收站 View 中为每个项目使用卡片 View ,但我在图片下方和上方有空白,我不确定如何,我需要摆脱它。这是每个项目的 xml 布局。
我有一个包含许多 float 子元素的 div。每个子项都是一个包含输入和标签的 div。在 Firefox 中它看起来不错,但在 IE7 中,一行的最后一项被换行以适合,而不是被移动到下一行。 Wr
我创建了一个包含三个按钮的 wxpython 框架,在将视频格式化到 wxpanel 上时出现问题 这就是我流式传输网络摄像头的方式。 #code for the stream of webcam t
我想为 ListView 中的每个项目创建一个 fragment ,因为我想分离出一些逻辑。我正在为每个项目使用 View 持有者。如果 View 不存在,我将创建一个新 fragment 并将其添加
我正在使用 Joda 解析 RSS 项中的 pubDate。日期必须采用 RFC-822 格式: http://feed2.w3.org/docs/error/InvalidRFC2822Date.h
我正在尝试为我的第一个项目提供一个在此循环中处于事件状态的类。但是第二个和第三个项目可能没有“事件”类。 @foreach ($news as $newsitem)
我是一名优秀的程序员,十分优秀!