Android 当我试图编辑EditText视图时,应用程序崩溃

Android 当我试图编辑EditText视图时,应用程序崩溃,android,Android,我正在尝试在Android studio上运行我的第一个应用程序。应用程序实例化并运行setOnClickListener 当我尝试输入addTextChangeListener的输入时,它崩溃了 “我已经剥去了代码,找到了错误所在,但我仍然无法找到它。我对这方面很陌生,是我的第一个应用程序 outputText = (TextView) findViewById(R.id.outputText); EditText ageText = (EditText) findViewB

我正在尝试在Android studio上运行我的第一个应用程序。应用程序实例化并运行setOnClickListener

当我尝试输入addTextChangeListener的输入时,它崩溃了

“我已经剥去了代码,找到了错误所在,但我仍然无法找到它。我对这方面很陌生,是我的第一个应用程序

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

        EditText ageText = (EditText) findViewById(R.id.userAge);
        ageText.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {

            }

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {


            }

            @Override
            public void afterTextChanged(Editable s) {

                int age = Integer.parseInt(userAge.getText().toString());
                int intYears = Integer.valueOf(userYears.toString());
                String text;

                if (age < intYears/3){
                    text = getString(R.string.Message_1, userAge);
                    outputText.setText(text);
                }
                else{
                    text = getString(R.string.Message_2, userAge);
                    outputText.setText(text);
                }
            }
        });

outputText=(TextView)findViewById(R.id.outputText);
EditText ageText=(EditText)findViewById(R.id.userAge);
ageText.addTextChangedListener(新的TextWatcher(){
@凌驾
更改前文本之前的公共void(字符序列s、int start、int count、int after){
}
@凌驾
public void onTextChanged(字符序列、int start、int before、int count){
}
@凌驾
公共无效后文本已更改(可编辑){
int age=Integer.parseInt(userAge.getText().toString());
int intYears=Integer.valueOf(userYears.toString());
字符串文本;
如果(年龄<1岁/3岁){
text=getString(R.string.Message_1,userAge);
outputText.setText(文本);
}
否则{
text=getString(R.string.Message_2,userAge);
outputText.setText(文本);
}
}
});
预期:输入一个int m,将int m转换为另一个int m“display m”。 在另一个文本字段中输入int n,比较int n和m并显示文本

结果:执行第一部分,当我尝试在另一个文本字段中输入int n时,应用程序崩溃。

您错过了getText()


int intYears=Integer.valueOf(userYears.getText().toString());

请附上您的日志详细信息这部分可能的副本:text=getString(R.string.Message_1,userAge);它应该是age而不是userAge,userAge是您的文本视图,您想将年龄放在stringI忘记getText()中。我首先尝试了
text=getString(R.string.Message_1,age)
,因为这对我来说也很自然。IDE抛出错误
消息_1中格式化参数#1的可疑参数类型:转换为s,接收int(方法调用中的参数#2)