【发布时间】:2015-06-02 15:53:09
【问题描述】:
我在 SharedPreferences 中保存了一个带有 json 的列表。这工作得很好,但是当我尝试加载它时,Android Studio 告诉我我不能
private List<AppInfo> apps;
apps = new ArrayList<AppInfo>();
// Storing in method
ArrayList<String> lollist = new ArrayList<>();
lollist = new ArrayList<>(Arrays.asList(String.valueOf(apps)));
setStringArrayPref(this, "urls", lollist);
// Loading which doesn't work
lollist = getStringArrayPref(this, "urls");
apps = (String[]) lollist.toArray();
我得到的错误是
Required: java.util.list <com.....AppInfo>
Found: java.lang.String[]
我该怎么做?
【问题讨论】:
-
恐怕
String的数组将永远成为AppInfo的列表 -
@RC 我正在做的是将所有包名(已安装的应用程序)的列表保存到 SharedPreferences。这适用于保存。只是不加载。我发现序列化最好,所以我用这个序列化:stackoverflow.com/questions/7361627/…
-
如果您将其转换为
String[],那么apps不应该也是String[]类型吗? -
@Carl 我想你误解了
String.valueOf,你应该阅读“相关”问题