首页 > 解决方案 > Sharedpreferences android studio 错误保存数据

问题描述

我使用 sharedpreference 从 numberDecimal 编辑文本中保存了我的数据。当我想在另一个活动中获取该数据时,它始终显示为 null,因此未正确保存。有什么建议吗?

这是我保存数据的代码:

public void Start(View view) {
    EditText LevelEdit = (EditText) findViewById(R.id.editText_LevelCurrent);
    String User_Level = LevelEdit.getText().toString();
    if (User_Level == "") {
        Toast.makeText(this, "Select a level",
                Toast.LENGTH_LONG).show();

    } else {


        SharedPreferences sharedPref = getPreferences(Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedPref.edit();
        editor.putString(GameConstants.StringvalueOfLevel,User_Level);
        editor.commit();


        Intent myIntent = new Intent(Mygame_Menu.this, Mygame.class);
        startActivity(myIntent);
    }
}

标签: javaandroidsharedpreferences

解决方案


我认为你的条件是错误的,因为你在共享首选项中保存 null 对象不要像这样检查字符串 if (User_Level == "")== 运算符不能在 java 中的字符串上工作!您应该使用 equals 方法与这样的 String 进行比较"Amir".equals("Amir")

改用这个if (User_Level==null||User_Level.isEmpty())


推荐阅读