添加代码后,为什么我的Android应用程序崩溃而没有任何错误?

时间:2020-07-04 04:12:40

标签: java android android-layout android-activity

我正在尝试制作一个可以添加数字的简单应用。 进行布局后,如果我运行该应用程序,它将运行平稳。但是,当我编辑MainActivity.java以添加逻辑时,该应用程序开始崩溃。我的Java代码可能有问题。请帮助

我刚刚开始学习Android开发。请帮忙。该应用程序在启动时崩溃。 这是activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">


    <EditText
        android:id="@+id/num1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="90dp"
        android:layout_marginLeft="90dp"
        android:layout_marginTop="107dp"
        android:ems="10"
        android:inputType="number" />

    <EditText
        android:id="@+id/num2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginStart="91dp"
        android:layout_marginLeft="91dp"
        android:layout_marginTop="206dp"
        android:ems="10"
        android:inputType="number" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="320dp"
        android:text="SUM" />

    <TextView
        android:id="@+id/output"
        android:layout_width="190dp"
        android:layout_height="45dp"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="245dp"
        android:text="Answer" />

</RelativeLayout>

这是MainActivity.java

package com.example.addition;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    EditText num1,num2;
    Button button2;
    TextView output;

    int fnum,snum;
    int sum;

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

        num1 = (EditText) findViewById(R.id.num1);
        num2 = (EditText) findViewById(R.id.num2);
        output = (TextView) findViewById(R.id.output);

        button2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                fnum = Integer.parseInt(num1.getText().toString());
                snum = Integer.parseInt(num2.getText().toString());
                sum = fnum+snum;
                output.setText(""+sum);

            }
        });

    }
}

1 个答案:

答案 0 :(得分:1)

您永远不会将button2变量设置为任何值。

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