我在共享首选项中使用此代码作为字符串值的字符串数组。
SharedPreferences preferences = context.getSharedPreferences(
"browser_opened_urls", 0);
Set<String> urls = new HashSet<String>();
for (int i = 0; i < Browser.mainWebViewFlipper.getChildCount(); i++) {
WebView webview = (WebView) Browser.mainWebViewFlipper
.getChildAt(i);
urls.add(webview.getUrl());
}
preferences.edit().putStringSet("URLs", urls).commit();
但是我没有从共享首选项中检索集合时获取值。有人可以帮忙吗?
这是我设置时的代码。
SharedPreferences preferences = getSharedPreferences("browser_opened_urls", 0);
Set<String> urls = preferences.getStringSet("URLs", null);
现在有人能告诉我如何从“网址”获取每个存储值吗?
好的,我找到了答案。
SharedPreferences preferences = getSharedPreferences("browser_opened_urls", 0);
Set<String> urls = preferences.getStringSet("URLs", null);
if (urls != null) {
Iterator<String> iterator = urls.iterator();
while (iterator.hasNext()) {
String url = iterator.next();
}
答案 0 :(得分:0)
使用getString方法从sharedPreferences
中检索数据答案 1 :(得分:0)
如android api reference中所述
使用方法: -
getStringSet(String key, Set<String> defValues)
你问题的解决方案是SharedPreferences prefs=preferences.getStringSet(String URLs, Set<String> urls);
这假设您要存储在新对象中以检索旧集合