wait7676
Mr_en
采纳率10%
2016-01-06 02:06

关于android SharedPreference的问题,在线等!谢谢!!!

已采纳

SharedPreferences 有没有办法根据vlaue获取对应的key值,除了循环SharePreferences里面的内容。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

4条回答

  • rui888 兔子托尼啊 5年前

    You should note that while keys are guaranteed to be unique in SharedPreferences, there's no guarantee that the values will be unique. As such, this function will only return the key for the first matching value.

     String findKey(SharedPreferences sharedPreferences, String value) {
        for (Map.Entry<String, ?> entry: sharedPreferences.getAll()) {
            if (value.equals(entry.getValue())) {
                return entry.getKey();
            }
        }
        return null; // not found
    }
    
    点赞 评论 复制链接分享
  • qq_27578023 qq_27578023 5年前

    You should note that while keys are guaranteed to be unique in SharedPreferences, there's no guarantee that the values will be unique. As such, this function will only return the key for the first matching value.

    String findKey(SharedPreferences sharedPreferences, String value) {
    for (Map.Entry entry: sharedPreferences.getAll()) {
    if (value.equals(entry.getValue())) {
    return entry.getKey();
    }
    }
    return null; // not found
    }

    点赞 评论 复制链接分享
  • sunluyao_ 秉心说 5年前

    存的时候反着也存一遍,value当key,key当value

    点赞 评论 复制链接分享
  • rui888 兔子托尼啊 5年前

    只能循环判断了。map

    点赞 评论 复制链接分享

相关推荐