相关疑难解决方法(0)

SharedPreferences值未更新

我正在尝试更新SharedPreferences的值,这是我的代码:

edit = PreferenceManager.getDefaultSharedPreferences(this).edit();
edit.putString(Settings.PREF_USERNAME+"",txtuser);
edit.putString(Settings.PREF_PASSWORD+"",txtpass);
edit.commit();" 
Run Code Online (Sandbox Code Playgroud)

问题是当我访问这个值时,它没有返回更新的值,它给了我一个SharedPreferences的值.

但是当我在XML文件中确认数据时,数据就更新了.

重新启动我的应用程序后,我得到了更新的值.所以它需要我重新启动应用程序以获取更新的值.
那么,一旦它发生变化,如何获得这些更新的值?

提前致谢

这是我的整个代码:

@Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.main);
        ctx=this;

            status=PreferenceManager.getDefaultSharedPreferences(this).getString(Settings.PREF_STATUS, Settings.DEFAULT_STATUS);// get old value
        submit.setOnClickListener(new View.OnClickListener() {
          @Override
            public void onClick(View v) {

                  on(ctx,true);//  function will call and value is updated

                }
            }});    

     status=PreferenceManager.getDefaultSharedPreferences(this).getString(Settings.PREF_STATUS, Settings.DEFAULT_STATUS);// this should give me a updated value but gives old value

    }
    public static boolean on(Context context) {
        return PreferenceManager.getDefaultSharedPreferences(context).getBoolean(Settings.PREF_ON, Settings.DEFAULT_ON);
    }

    public static void on(Context context,boolean on) …
Run Code Online (Sandbox Code Playgroud)

xml android sharedpreferences

21
推荐指数
1
解决办法
4万
查看次数

标签 统计

android ×1

sharedpreferences ×1

xml ×1