如何在共享首选项中存储集后从集中获取每个值

时间:2015-06-06 10:53:18

标签: android set sharedpreferences

我在共享首选项中使用此代码作为字符串值的字符串数组。

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();
    }

2 个答案:

答案 0 :(得分:0)

使用getString方法从sharedPreferences

中检索数据

答案 1 :(得分:0)

android api reference中所述 使用方法: -
getStringSet(String key, Set<String> defValues)
你问题的解决方案是SharedPreferences prefs=preferences.getStringSet(String URLs, Set<String> urls);
这假设您要存储在新对象中以检索旧集合