3

我在 Android 中有一个项目的价值,SharedPreferences我想得到它的密钥。我无法弄清楚。请问有什么想法吗?

4

4 回答 4

3

用于SharedPreferences getAll()获取所有键值对的映射并迭代它以entrySet()寻找您所追求的值键对。

于 2012-09-11T09:42:10.827 回答
1

共享首选项 getAll()。方法将返回键值对的映射,现在从值中过滤掉键。

于 2012-09-11T09:41:52.640 回答
1

您可以使用返回 Map 的 getAll() 函数

http://developer.android.com/reference/android/content/SharedPreferences.html#getAll ()

地图有方法 getKeySet()

http://developer.android.com/reference/java/util/Map.html#keySet ()

你可以得到钥匙

于 2012-09-11T09:43:45.430 回答
0

如果在 SharedPreferences 中保证键是唯一的,请使用此方法,因为它只会返回第一个匹配值的键。

private String getSharedKeyByValue(SharedPreferences sharedPreferences, String value) {
    for (Map.Entry<String, ?> entry : sharedPreferences.getAll().entrySet()) {
        if (value.equals(entry.getValue())) {
            return entry.getKey();
        }
    }
    return null; // Not Found
}
于 2018-11-28T09:30:44.213 回答