如果复选框被选中,启动另一个活动

4
当我的应用程序启动时,登录活动会出现。它包含一个“下次自动登录”复选框。如果选中了该复选框,我希望在下一次应用程序启动时启动另一个活动并将用户的用户名和密码发送到该活动。
如何实现这个功能?
3个回答

4
你可能希望将用户名和复选框的值保存在SharedPreferences中。之后,当应用程序启动时,您可以检索它们。
示例:
//Saving the values
SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("username",username);
editor.putString("password",password);
editor.putBoolean("isChecked", isCheckBoxChecked);
editor.commit();

//Retrieving the values
SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
if(sharedPreferences.getBoolean("isChecked"))
{
     //Do whatever you need to do if it's checked
}

1
使用SharedPreferences来保存您的用户名和密码。当您的活动开始时,请检查它们是否存储在Shared Preferences中。您可以在谷歌上找到许多好的Shared Preferences示例。

0
在您的登录活动中,请执行以下操作:
 pref = getSharedPreferences(PREFS_NAME, 0);
 intent = new Intent(context, LaunchingActivity.class);

 isChecked = pref.getBoolean("isChecked", false); 
 if(isChecked)
      startActivity(intent);


 btn.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v) {
        if(username.equalsIgnoreCase("") && password.equalsIgnoreCase("")) {
            username = userEdtTxt.getText().toString();
            password = pwdEdtTxt.getText().toString();
        }

        if(checkBox.isChecked()) {              
            editor = pref.edit();
            editor.putString("username", username);
            editor.putString("password", password);
            editor.putString("isChecked", true);
            editor.commit();
        }   
        startActivity(intent);      
    }

 });

然后在启动活动中执行以下操作:

 SharedPreferences pref = getSharedPreferences(PREFS_NAME, 0);
 String username = pref.getString("username", "");
 String password = pref.getString("password", "");

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接