Android登录屏幕无法正常工作

时间:2015-12-24 18:07:07

标签: java android android-studio login

首先,我知道我可以很容易地获得登录屏幕的源代码,我甚至可以这样做。但是这里的问题是我一直试图弄清楚我在代码上的错误2天,所以我有点“沮丧”。那是:

我正在尝试将登录屏幕集成到我的应用程序中,并设置一个条件,只允许特定的电子邮件和密码登录该应用程序。问题可能出在onCreate方法的if-else条件中。如果效果很好,我可以使用该特定的电子邮件和密码登录,但是当我输入无效信息时,应用程序会在一个点之后冻结并崩溃。我甚至没有收到我写的错误信息。请注意,我已经尝试对while循环使用boolean x = false / true,但仍然无法正常工作。真的很感激任何帮助。提前谢谢。

public Button loginButton;
private EditText emailText;
private EditText passwordText;
private TextView errorView;
private String x = "go";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login);

    loginButton = (Button) findViewById(R.id.loginButton);

    errorView = (TextView) findViewById(R.id.errorView);

    loginButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            while (x.equals("go")) {
                emailText = (EditText) findViewById(R.id.emailText);
                passwordText = (EditText) findViewById(R.id.passwordText);

                if (emailText.getText().toString().equals("meric.erler@metu.edu.tr")
                        && passwordText.getText().toString().equals("meric1234")) {
                    x = "return";
                } else {
                    errorView.setText("Invalid E-mail or Password.");
                }
                x.equals("go");
            }
            String email = emailText.getText().toString();
            startData(email);
        }
    });
}


//probably irrelevant after this point
public void startData(String email) {

    Intent intent = new Intent(LoginActivity.this, DataActivity.class);
    intent.putExtra("email", email);
    startActivity(intent);
}

1 个答案:

答案 0 :(得分:1)

这应该可行,但我没有编译它来测试它。

loginButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        emailText = (EditText) findViewById(R.id.emailText);
        passwordText = (EditText) findViewById(R.id.passwordText);

        String email = emailText.getText().toString();
        if (email.equals("meric.erler@metu.edu.tr")
                && passwordText.getText().toString().equals("meric1234")) {
            startData(email);
        } else {
            errorView.setText("Invalid E-mail or Password.");
        }
    }
});