【问题标题】:how to get shared perference value in another activity [duplicate]如何在另一个活动中获得共享偏好值[重复]
【发布时间】:2014-03-28 20:28:57
【问题描述】:

在活动1中具有共享偏好的价值

喜欢这个

prefs=getSharedPreferences(prefName, MODE_PRIVATE);
        SharedPreferences.Editor edtior=prefs.edit();
        edtior.putString(VALUE_KEY,check.toString());
        edtior.commit();

而且我需要在另一个活动中获得价值。我试过这样

SharedPreferences prefs=getSharedPreferences(prefName, Context.MODE_PRIVATE);
        edittext.setText(prefs.getString(VALUE_KEY,""));

这很好用。

像这样我需要在 DBHelper 类中获得相同的值。如何在 DBHelper 中获取共享偏好值。

我在 DBHelper 中尝试过这样的

SharedPreferences prefs=getSharedPreferences(prefName, Context.MODE_PRIVATE);
            String key =(prefs.getString(VALUE_KEY,""));

语法有什么问题?

【问题讨论】:

  • 我没有得到 DBHelper 类中的偏好值。
  • 请显示DBHelper classcode
  • 检查我的编辑代码。它告诉创建方法

标签: android database sharedpreferences


【解决方案1】:

试试这个。可能对你有帮助..

 SharedPreferences  _sPrefs =getSharedPreferences("myPrefs", Context.MODE_PRIVATE); 
        String temp = _sPrefs.getString("VALUE_KEY", "");

【讨论】:

    【解决方案2】:

    试试这个

    SharedPreferences prefs= context.getSharedPreferences(prefName, Context.MODE_PRIVATE);
            String key =(prefs.getString(VALUE_KEY,""));
    

    您必须将context 传递给 DBHelper。

    【讨论】:

      【解决方案3】:

      要访问 DBHelper 类中的 getSharedPreferences 方法,您需要使用 DBHelper 类构造函数传递上下文:

       private context;
      
       public DBHelper(Context context){
        this.context=context;
       }
      

      现在使用context 调用getSharedPreferences 方法为:

      SharedPreferences prefs=context.getSharedPreferences(prefName, 
                                                     Context.MODE_PRIVATE);
      String key =(prefs.getString(VALUE_KEY,""));
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-12-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-08-12
        相关资源
        最近更新 更多