3

Androidでアイテムの価値があり、SharedPreferencesそのキーを取得したいと思います。私はそれを理解することができません。何かアイデアをお願いしますか?

4

4 に答える 4

3

を使用SharedPreferences getAll()して、すべてのキーと値のペアのマップを取得し、目的の値とキーのペアの検索を繰り返しentrySet()ます。

于 2012-09-11T09:42:10.827 に答える
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 に答える
1

SharedPreferences getAll()。メソッドはキーと値のペアのマップを返し、値からキーを除外します。

于 2012-09-11T09:41:52.640 に答える
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 に答える