android 点击添加按钮时应用程序崩溃[已关闭]

vaj7vani  于 2022-11-20  发布在  Android
关注(0)|答案(2)|浏览(231)

**已关闭。**此问题需要debugging details。当前不接受答案。

编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
2天前关闭。
Improve this question
我是Android新手,想做一个计算器。我想我可能搞砸了onClicklistner函数,因为每当我点击“+”按钮时,应用程序就会崩溃。我现在只是做一个简单的计算器,但是加法不起作用,所以我没有继续。有什么想法可以解决这个问题吗?

package com.example.calculator;

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;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    private Button add;
    private Button sub;
    private Button mul;
    private Button del;
    private EditText num1;
    private EditText num2;
    private TextView textView;

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

        add = findViewById(R.id.button7);
        sub = findViewById(R.id.button8);
        mul = findViewById(R.id.button11);
        del = findViewById(R.id.button12);
        num1 = findViewById(R.id.editTextNumber);
        num2 = findViewById(R.id.editTextNumber2);
        textView = findViewById(R.id.textView2);

        add.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String n1 = num1.getText().toString();
                Integer number1 = Integer.parseInt(n1);
                String n2= num2.getText().toString();
                Integer number2 = Integer.parseInt(n2);

                Integer result = number1 + number2;
                textView.setText(result);
            }
        });
    }
}

下面是XML(如果需要):

<Button
    android:id="@+id/button7"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="+"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toStartOf="@+id/button8"
    app:layout_constraintHorizontal_bias="0.143"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.499" />
cygmwpex

cygmwpex1#

使用

String n1 = num1.getText().toString();
Integer number1 = Integer.parseInt(n1);
String n2= num2.getText().toString();
Integer number2 = Integer.parseInt(n2);
Integer result = number1 + number2;
textView.setText(String.Valueof(result));
yqkkidmi

yqkkidmi2#

Integer result = number1 + number2;
textView.setText(result);

中 的 每 一 个
你 使用 一 个 整数 来 设置 textview 上 的 文本 , 所以 当前 它 使用 这个 整数 作为 一 个 资源 id , 作为 一 个 被 覆盖 的 方法 。 相反 , 你 需要 使用 下面 的 代码 , 它 就 可以 工作 了 :

Integer result = number1 + number2;
textView.setText(result+"");

格式

相关问题