【问题标题】:Cannot retrieve sharedpreference无法检索共享首选项
【发布时间】:2015-02-09 18:14:44
【问题描述】:

我正在尝试从共享首选项文件中检索数据。

收到一条错误消息“无法解析符号 'getSharedPreferences'”

任何帮助解决这个问题,以便我可以从首选项中获取字符串?

这样做是因为在每个活动中它使用自己的共享偏好,一个用于胸部,一个用于手臂等。因此保存的数据特定于每个活动并且不会被覆盖,因此我没有使用默认的共享偏好。

【问题讨论】:

    标签: java android sharedpreferences


    【解决方案1】:
     button1.setOnClickListener(new View.OnClickListener() {
            public void onClick(View arg0) {
            SharedPreferences chestPreference = arg0.getContext().getSharedPreferences("ChestWeightPreference", Context.MODE_PRIVATE);
            String newweight =  chestPreference.getString("storednewweight", "");
    

    【讨论】:

    • 检查编辑,(我第一次没有注意到你的 getSharedPreferences 使用情况)
    • 我自己设法解决了这个问题:SharedPreferences chestPreference = getApplicationContext().getSharedPreferences("ChestWeightPreference", Context.MODE_PRIVATE);
    【解决方案2】:

    View.OnClickListenerthis 内部指向View.OnClickListenerobject。

    改为使用:

    SharedPreferences chestPreference = MyActivity.this.getSharedPreferences("ChestWeightPreference", Context.MODE_PRIVATE);
    

    MyActivity 替换为您的活动名称。

    【讨论】:

      【解决方案3】:
      SharedPreferences chestPreference = getApplicationContext().getSharedPreferences("ChestWeightPreference", Context.MODE_PRIVATE);
      

      【讨论】:

      • 虽然这段代码 sn-p 可以解决问题,但including an explanation 确实有助于提高帖子的质量。请记住,您是在为将来的读者回答问题,而这些人可能不知道您提出代码建议的原因。
      【解决方案4】:

      getSharedPreferences() 是一种方法。 (您将getSharedPreferences 作为变量调用)

      SharedPreferences chestPreference = getSharedPreferences().getString("ChestWeightPreference", Context.MODE_PRIVATE);

      【讨论】:

        猜你喜欢
        • 2020-10-04
        • 1970-01-01
        • 1970-01-01
        • 2019-03-02
        • 1970-01-01
        • 1970-01-01
        • 2012-09-10
        • 2020-08-18
        • 1970-01-01
        相关资源
        最近更新 更多