Java Android错误:很遗憾(MyAppName)已停止

Java Android错误:很遗憾(MyAppName)已停止,java,android,android-intent,Java,Android,Android Intent,使用android studio创建登录页面时。。我编辑了接收用户年龄的文本,如果他的年龄小于18岁,他不能登录,否则他可以,但当我构建项目时,会出现此消息;很遗憾(MyAppName)已停止,,,此代码有什么错误 public void checkButtonjjListener(){ txtAge =(EditText)findViewById(R.id.txtAge); num = Integer.parseInt(txtAge.getText().toString());

使用android studio创建登录页面时。。我编辑了接收用户年龄的文本,如果他的年龄小于18岁,他不能登录,否则他可以,但当我构建项目时,会出现此消息;很遗憾(MyAppName)已停止,,,此代码有什么错误

public void checkButtonjjListener(){
    txtAge =(EditText)findViewById(R.id.txtAge);
    num = Integer.parseInt(txtAge.getText().toString());
    check = (Button)findViewById(R.id.btnCheck);
    check.setOnClickListener(
            new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    if( num <18){
                        Toast.makeText(MainActivity.this,"Sorry, Your age Must not be less than 18 years old",Toast.LENGTH_LONG).show();
                    }
                    else{
                        Toast.makeText(MainActivity.this,"You can login",Toast.LENGTH_LONG).show();
                    }
                }
            }
    );
}``
public void checkbuttonjListener(){
txtAge=(EditText)findViewById(R.id.txtAge);
num=Integer.parseInt(txtAge.getText().toString());
检查=(按钮)findViewById(R.id.btnCheck);
check.setOnClickListener(
新建视图。OnClickListener(){
@凌驾
公共void onClick(视图){
如果(num移动到
onClick(…)

public void onClick(视图){
.......
num=Integer.parseInt(txtAge.getText().toString());

如果(num看到你的问题很明显,我会解释你的应用程序崩溃的原因

真正的问题在这里

num = Integer.parseInt(txtAge.getText().toString());
您正试图从EditText中获取文本并将其解析为整数。但您是在单击侦听器之前执行此操作的。它应该位于单击侦听器的
onClick()
方法中

check.setOnClickListener(
            new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    num = Integer.parseInt(txtAge.getText().toString());

                    if( num <18){
                        Toast.makeText(MainActivity.this,"Sorry, Your age Must not be less than 18 years old",Toast.LENGTH_LONG).show();
                    }
                    else{
                        Toast.makeText(MainActivity.this,"You can login",Toast.LENGTH_LONG).show();
                    }
                }
            }
    );
check.setOnClickListener(
新建视图。OnClickListener(){
@凌驾
公共void onClick(视图){
num=Integer.parseInt(txtAge.getText().toString());

如果(num)Add stacktrace from logcatpost您在logcat
errors
中看到了什么,请说明为什么需要这样做
check.setOnClickListener(
            new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    num = Integer.parseInt(txtAge.getText().toString());

                    if( num <18){
                        Toast.makeText(MainActivity.this,"Sorry, Your age Must not be less than 18 years old",Toast.LENGTH_LONG).show();
                    }
                    else{
                        Toast.makeText(MainActivity.this,"You can login",Toast.LENGTH_LONG).show();
                    }
                }
            }
    );