【发布时间】:2020-10-15 02:51:27
【问题描述】:
我正在关注 youtube 上的一个教程视频,用于创建一个简单的 Android 应用程序。有两个数字输入框,一个乘法按钮和一个用于显示结果的文本视图框。当我点击乘法按钮时,应用程序应该将用户输入的两个数字相乘并显示结果。但是当我点击乘法按钮时,应用程序崩溃了。想不通为什么。我在创建项目时选择了 Android 8.0。布局:https://ibb.co/PtcPCFc
package com.sa.firstapp;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button multiplyButton = (Button) findViewById(R.id.multiplyButton);
multiplyButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
EditText firstNumEditText = (EditText) findViewById(R.id.firstNumEditText);
EditText secondNumEditText = (EditText) findViewById(R.id.secondNumEditText);
TextView resultTextView = (TextView) findViewById(R.id.resultTextView);
int num1 = Integer.parseInt(firstNumEditText.getText().toString());
int num2 = Integer.parseInt(secondNumEditText.getText().toString());
int result = num1 * num2;
resultTextView.setText(String.valueOf(result));
}
});
}
}
这里是日志:
--------- beginning of crash
2020-06-24 21:31:02.754 8724-8724/com.sa.firstapp E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.sa.firstapp, PID: 8724
java.lang.ClassCastException: androidx.constraintlayout.widget.ConstraintLayout cannot be cast to android.widget.EditText
at com.sa.firstapp.MainActivity$1.onClick(MainActivity.java:22)
at android.view.View.performClick(View.java:7438)
at android.view.View.performClickInternal(View.java:7415)
at android.view.View.access$3600(View.java:810)
at android.view.View$PerformClick.run(View.java:28286)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7523)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:941)
2020-06-24 21:31:02.814 8724-8724/? I/Process: Sending signal. PID: 8724 SIG: 9
这是应用程序的屏幕截图: screenshot of the app
【问题讨论】:
-
向我们展示您的布局文件
-
不好意思今天刚下载了Android Studio,在哪里可以找到布局文件?
-
你放置按钮和文本的地方:)
-
不是专家,但应该有一个“firstNumEditText”,它不在 EditText 内
-
这是布局,我希望是这样:ibb.co/PtcPCFc
标签: java android android-studio button