安卓记住密码登陆后按下back键密码不见

打开的时候,帐号和密码都有了(已经记住之前输入的),登录之后,进入主界面,按下返回键,重新回到登录界面,但是密码和账户都不见了,只有退出应用后重新打开才会有是什么原因呢?真是百思不得其解
pref= PreferenceManager.getDefaultSharedPreferences(this);//静态方法
//pref=getPreferences(0);
zhanghaoshuru=(EditText)findViewById(R.id.zhanghaoshuru);
mimashuru =(EditText)findViewById(R.id.mimashuru);
denglu=(Button)findViewById(R.id.denglu) ;
jizhumima =(CheckBox)findViewById(R.id.jizhumima);

boolean is=pref.getBoolean("data",false);
if( is){
String a=pref.getString("zhanghaoshuru","");
String b =pref.getString("mimashuru","");
zhanghaoshuru.setText(a);
mimashuru.setText(b);
jizhumima.setChecked(true);
}

else{}
    denglu.setOnClickListener(new View.OnClickListener() {
    @SuppressLint("ShowToast")
    @Override
    public void onClick(View view) {
        String a=zhanghaoshuru.getText().toString();
        String b=mimashuru.getText().toString();
        if(a.trim().equals("admin")&&b.trim().equals("admin")){
         editor=pref.edit();
            if(jizhumima.isChecked()){
              editor.putBoolean("data",true) ;
              editor.putString( "zhanghaoshuru" ,  a );
              editor.putString( "mimashuru" ,  b  );
            }
            else {
                editor.putBoolean("data",false) ;
                editor.clear();

            }editor.apply();


            Intent intent=new Intent(denglumima.this,MainActivity.class);
            startActivity(intent);

https://www.cnblogs.com/liangstudyhome/archive/2014/07/04/3823601.html

我刚刚试了下,没有复现这个问题。
可以试下我的,在onCreate里面调用 getUserInfo,在登录的时候调用 saveUserInfo
在oncreate最前面初始化一下 SharedPreferencesUtil.getInstance(this);

 private void getUserInfo(){
       SharedPreferencesUtil sharedPreferencesUtil = SharedPreferencesUtil.getInstance().getSharePreference("loginInfo");
       et_name.setText(sharedPreferencesUtil.getString("name",""));
       et_password.setText(sharedPreferencesUtil.getString("password",""));
   }

   private void saveUserInfo(){
       SharedPreferencesUtil sharedPreferencesUtil = SharedPreferencesUtil.getInstance().getSharePreference("loginInfo");
       sharedPreferencesUtil.putString("name",et_name.getText().toString());
       sharedPreferencesUtil.putString("password",et_password.getText().toString());
   }

    public class SharedPreferencesUtil {
    @SuppressLint("StaticFieldLeak")
    private static SharedPreferencesUtil instance;
    private Context context;
    private SharedPreferences sharedPreferences;
    private SharedPreferences.Editor editor;

    public static SharedPreferencesUtil getInstance(Context context) {
        if(instance == null){
            instance = new SharedPreferencesUtil(context);
        }
        return instance;
    }

    public static SharedPreferencesUtil getInstance(){
        return instance;
    }

    private SharedPreferencesUtil(Context context) {
        this.context = context;
        modifySharePreferenceDir();
    }

    @SuppressLint("CommitPrefEdits")
    public SharedPreferencesUtil getSharePreference(String dataName){
        this.sharedPreferences = context.getSharedPreferences(dataName, Activity.MODE_PRIVATE);
        this.editor = sharedPreferences.edit();
        return instance;
    }

    /**
     * 将存储位置暴露到指定位置 FileUtil.getInstance().getStoragePath()
     */
    private void modifySharePreferenceDir(){
        if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
            try {
                Field field;
                field = ContextWrapper.class.getDeclaredField("mBase");
                field.setAccessible(true);
                Object obj = field.get(context);
                field = obj.getClass().getDeclaredField("mPreferencesDir");
                field.setAccessible(true);
                File file = new File(FileUtil.getInstance().getStoragePath());
                field.set(obj, file);
            } catch (NoSuchFieldException | IllegalAccessException | IllegalArgumentException e) {
                e.printStackTrace();
            }
        }
        else{
            ZToast.getInstance().show("路径获取失败");
        }
    }

    public void putInt(String key,int value){
        editor.putInt(key,value);
        editor.commit();
    }

    public void putString(String key,String value){
        editor.putString(key,value);
        editor.commit();
    }

    public void putBoolean(String key,boolean value){
        editor.putBoolean(key,value);
        editor.commit();
    }

    public int getInt(String key,int defValue){
        return sharedPreferences.getInt(key,defValue);
    }

    public String getString(String key,String defValue){
        return sharedPreferences.getString(key,defValue);
    }

    public Boolean getBoolean(String key,Boolean defValue){
        return sharedPreferences.getBoolean(key,defValue);
    }

    public void removeData(String key){
        editor.remove(key);
        editor.commit();
    }

    public Map<String, ?> getAllValue(){
        return sharedPreferences.getAll();
    }
}

登录完成后跳转到主界面的同时应该手动finish登录页面吧,要不按返回键时会回到登录页面的