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

时间:2012-08-21 08:36:17

标签: android android-activity checkbox manifest

当我的应用程序启动时,将显示登录活动。它包含复选框“下次签名”。我想在下次启动应用程序时启动另一个Activity,如果选中复选框,则将用户的用户名和密码发送给它。

我该如何实现?

3 个答案:

答案 0 :(得分: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 :(得分:1)

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

答案 2 :(得分: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", "");