Android 工作室,将复选框值从选中设置为未选中,在另一个 activity

Android studio, set checkbox value from checked to unchecked, in the other activity

我在登录 activity 中有一个 "save" 复选框。如果用户选中它,下次应用程序启动时,跳过登录 activity。虽然,如果用户想要注销,登录 activity 中的复选框将设置为未选中。这个问题,我解决不了。

登录Activity保存部分:

saveLogin = loginPreferences.getBoolean("saveLogin", false);
    if (saveLogin == true) {
        etEmail.setText(loginPreferences.getString("email", ""));
        etPassword.setText(loginPreferences.getString("password", ""));
        saveLoginCheckBox.setChecked(true);
    //    editor.putBoolean("checked", true);

     /*   editor.putString("email", "etEmail"); // Storing string
        editor.putString("password", "etPassword"); // Storing string*/

        InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromWindow(etEmail.getWindowToken(), 0);

        String email = etEmail.getText().toString();
        String password = etPassword.getText().toString();

        if (saveLoginCheckBox.isChecked()) {
            loginPrefsEditor.putBoolean("saveLogin", true);
            loginPrefsEditor.putString("email", email);
            loginPrefsEditor.putString("password", password);
            loginPrefsEditor.commit();
        } else {
            loginPrefsEditor.clear();
            loginPrefsEditor.commit();
        }

        Backendless.UserService.login(email, password, new AsyncCallback<BackendlessUser>() {
            @Override
            public void handleResponse(BackendlessUser response) {
                Toast.makeText(getApplicationContext(),"Sikeres bejelentlezés",Toast.LENGTH_SHORT).show();

                Intent loginIntent = new Intent(LoginActivity.this, CategoryActivity.class);
                LoginActivity.this.startActivity(loginIntent);



            }

            @Override
            public void handleFault(BackendlessFault fault) {
                Toast.makeText(getApplicationContext(),"Sikertelen bejelentlezés",Toast.LENGTH_SHORT).show();
            }
        });
    }

而用户activity...这部分,注销按钮在哪里:

 bLogout.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Backendless.UserService.logout(new AsyncCallback<Void>() {
                    @Override
                    public void handleResponse(Void response) {


                        finish();

                        Intent logoutIntent = new Intent(UserAreaActivity.this, LoginActivity.class);
                        UserAreaActivity.this.startActivity(logoutIntent);
                    }
                    @Override
                    public void handleFault(BackendlessFault fault) {
                        Toast.makeText(getApplicationContext(),"Nem sikerült kijelentkezni!",Toast.LENGTH_SHORT).show();
                    }
                });

            }
        });

您可以通过共享首选项来做到这一点..如果用户登录只需将值存储在共享首选项中让我们说

 Sp.putString("userinfo","loggedin");
   Sp.commit();

每当你回来时只要检查首选项是否有登录值然后就去你的主要 activity.else 显示登录 activity

  String data =SpEditor.getString("userinfo", null);
   If(data!= null){
   goto main}
  Else goto login

希望对你有帮助!!