如何从其他活动获取共享偏好值?

时间:2016-04-26 12:08:51

标签: android sharedpreferences

我在一个活动中使用共享首选项来存储user_id和name。我想从另一个活动中获取user_id。我可以从First活动中获取价值,但我无法从其他活动中获取价值。 需要做些什么改变?

定义

 SharedPreferences sharedPreferences = LoginActivityMerchant.this.getSharedPreferences(config.SHARED_PREF_NAME, Context.MODE_PRIVATE);

                            //Creating editor to store values to shared preferences
                            SharedPreferences.Editor editor = sharedPreferences.edit();

                            //Adding values to editor
                            editor.putBoolean(config.LOGGEDIN_SHARED_PREF, true);
                            editor.putString(config.SHARED_PREF_NAME, user);
                            editor.putString("UserId",response.toString());
                            config.KEY_USERNAME = user;

                            //Saving values to editor
                            editor.commit();

呼叫

 final SharedPreferences SharedPreferences= getSharedPreferences("LoginActivityMerchant",MODE_PRIVATE);
    String Userid=SharedPreferences.getString("UserId", "");

3 个答案:

答案 0 :(得分:1)

您使用的偏好很可能不同。

确保此调用中的第一个参数具有相同的值

getSharedPreferences(config.SHARED_PREF_NAME, Context.MODE_PRIVATE);

getSharedPreferences("LoginActivityMerchant",MODE_PRIVATE);

仅当config.SHARED_PREF_NAME等于"LoginActivityMerchant"时才会有效,而我猜它不会。

答案 1 :(得分:0)

    SharedPreferences mSharedPreferences;
    mSharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);

     //get string 
     String value = mSharedPreferences.getString("VAL", "Null")

您可以在应用程序的任何位置打开SharedPreferences

答案 2 :(得分:-1)

从共享偏好设置编辑数据

 SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE).edit();
 editor.putString("text", mSaved.getText().toString());
 editor.putInt("selection-start", mSaved.getSelectionStart());
 editor.putInt("selection-end", mSaved.getSelectionEnd());
 editor.apply();

从共享偏好设置检索数据

SharedPreferences prefs = getPreferences(MODE_PRIVATE); 

  int selectionStart = prefs.getInt("selection-start", -1);
  int selectionEnd = prefs.getInt("selection-end", -1);

上面是一个简单的例子,在你的代码中应用它:)

希望它可以帮助你:)

相关问题