Java 简单的安卓密码检查器不工作

Java 简单的安卓密码检查器不工作,java,android,if-statement,password-protection,Java,Android,If Statement,Password Protection,我正在创建一个Android应用程序,将打开的第一个活动是密码输入。如需了解,密码已在值为“承认”的变量中设置。我创建了一个if语句来检查用户输入的值,然后将其与变量进行比较,如果值匹配,则转到主屏幕,但它一直说这是错误的密码。有谁能看一下我的代码,并告诉我是不是出了问题 public class Password extends ActionBarActivity implements View.OnClickListener { protected String password =

我正在创建一个Android应用程序,将打开的第一个活动是密码输入。如需了解,密码已在值为“承认”的变量中设置。我创建了一个if语句来检查用户输入的值,然后将其与变量进行比较,如果值匹配,则转到主屏幕,但它一直说这是错误的密码。有谁能看一下我的代码,并告诉我是不是出了问题

public class Password extends ActionBarActivity implements View.OnClickListener {
    protected String password = "admin";
    String getPassword;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_password);
        Button passwordButton = (Button) findViewById(passwordbutton);
        EditText passwordInput = (EditText) findViewById(R.id.password);
        getPassword = (passwordInput.getText().toString());
        passwordButton.setOnClickListener(this);

    }

    public void onClick(View v) {

        if (getPassword.equals(password)) {
            Intent goHome;
            goHome = new Intent(this, home.class);
            startActivity(goHome);
        } else {
             AlertDialog.Builder wrongPasswordBuilder = new AlertDialog.Builder(this);
            wrongPasswordBuilder.setTitle(getString(R.string.wrongPasswordTitle));
            wrongPasswordBuilder.setMessage(getString(R.string.wrongPasswordTryAgain));
            wrongPasswordBuilder.setPositiveButton("ok", null);
            AlertDialog dialog = wrongPasswordBuilder.show();
        }
    }

放置
getPassword=passwordInput.getText().toString()OnClickListener
中执行code>。现在,变量
getPassword
正在
onCreate
方法中设置,因此它将始终设置为
EditText
的默认值。相反,您需要在每次按下按钮时更新变量。

Place
getPassword=passwordInput.getText().toString()OnClickListener
中执行code>。现在,变量
getPassword
正在
onCreate
方法中设置,因此它将始终设置为
EditText
的默认值。相反,您需要在每次按下按钮时更新变量

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_password);
Button passwordButton = (Button) findViewById(passwordbutton);
EditText passwordInput = (EditText) findViewById(R.id.password);

passwordButton.setOnClickListener(this);
}

}


如果在onCreate()中写入passwordInput.getText().toString(),它总是返回空字符串。因此,请在onClick()中编写这些行。代码写在下面

public void onClick(View v) {
getPassword = passwordInput.getText().toString()
if (getPassword.equals(password)) {
    Intent goHome;
    goHome = new Intent(this, home.class);
    startActivity(goHome);
} else {
     AlertDialog.Builder wrongPasswordBuilder = new AlertDialog.Builder(this);
    wrongPasswordBuilder.setTitle(getString(R.string.wrongPasswordTitle));
    wrongPasswordBuilder.setMessage(getString(R.string.wrongPasswordTryAgain));
    wrongPasswordBuilder.setPositiveButton("ok", null);
    AlertDialog dialog = wrongPasswordBuilder.show();
       }
}

如果在onCreate()中写入passwordInput.getText().toString(),它总是返回空字符串。因此,请在onClick()中编写这些行。代码写在下面

public void onClick(View v) {
getPassword = passwordInput.getText().toString()
if (getPassword.equals(password)) {
    Intent goHome;
    goHome = new Intent(this, home.class);
    startActivity(goHome);
} else {
     AlertDialog.Builder wrongPasswordBuilder = new AlertDialog.Builder(this);
    wrongPasswordBuilder.setTitle(getString(R.string.wrongPasswordTitle));
    wrongPasswordBuilder.setMessage(getString(R.string.wrongPasswordTryAgain));
    wrongPasswordBuilder.setPositiveButton("ok", null);
    AlertDialog dialog = wrongPasswordBuilder.show();
       }
}

getPassword=(passwordInput.getText().toString())这与您认为的不同。
getPassword=(passwordInput.getText().toString())这与您认为的不一样。感谢您的快速响应和帮助,一旦被指出,这是一个愚蠢的错误!感谢大家的快速反应和帮助,愚蠢的错误一旦被指出!