当我按下 phone 上的按钮时应用程序崩溃

App crashes when I press the button on phone

我对此完全陌生,这是我正在构建的第一个应用程序。问题是,当我从第一个 activity 按下按钮以转到第二个时,应用程序崩溃了。

这里是 activity 代码:

private TextInputLayout password;
private View login;


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

    Button login = (Button)findViewById(R.id.btn_login);
    login.setOnClickListener(new View.OnClickListener(){
        @Override
        public  void onClick(View v){
            if (password.getEditText().getText().toString().equals("alex")) {
                finish();
                startActivity(new Intent(LoginActivity.this,MainActivity.class));
            } else {
                Toast.makeText(LoginActivity.this, "Wrong Input", Toast.LENGTH_SHORT).show();
            }
        }
    });

}

你应该有这样的陈述

password =(TextInputLayout)findViewById(R.id.your_id); 

我认为是因为密码没有初始化。 (你会得到空指针异常)

您可以像这样修改您的创建方法

私人EditText密码; 私人按钮登录;

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

    password =(TextInputLayout)findViewById(R.id.password); 
        login =(Button)findViewById(R.id.btn_login);
        login.setOnClickListener(new View.OnClickListener(){
            @Override
            public  void onClick(View v){
                if (password.getEditText().getText().toString().equals("alex"))
                {

                startActivity(new Intent(LoginActivity.this,MainActivity.class));
                 finish();
                } else {
                    Toast.makeText(LoginActivity.this, "Wrong Input", Toast.LENGTH_SHORT).show();
                }
            }
        });

    }

并且不要忘记在 manifest.xml 文件中为 MainActivity.class

创建一个条目