java - Android Studio Java 中的两个变量求和

标签 java android

我是 Android Studio 新手,但我以前编写过 Java 程序。 我需要在一个 Activity 中对两个数字求和,然后在新 Activity 中打印结果,编译器没问题,但应用程序强制关闭。 我的错在哪里? 这是我的来源:

public class MainActivity extends AppCompatActivity {
    private Button button;

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

        button = findViewById(R.id.button);

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                OpenActivity2();


            }
        });
    }

    public void SumAB(TextView tva, TextView tvb, TextView tvsomma) {
        double a, b, somma;
        a = Double.parseDouble(tva.getText().toString());
        b = Double.parseDouble(tvb.getText().toString());
        somma = a + b;
        tvsomma.setText(String.valueOf(somma));
    }

    public void OpenActivity2() {

        TextView result = findViewById(R.id.textView4);
        TextView var1 = findViewById(R.id.textView);
        TextView var2 = findViewById(R.id.textView3);

        Intent intent = new Intent(this, Activity2.class);
        startActivity(intent);

        SumAB(var1,var2,result);
    }
}

最佳答案

您在使用 startActivity(intent) 启动 Activity2 后调用 SumAB();因此,当执行 tvsomma.setText() 时,它期望找到 tvsomma View ,但它是第一个 Activity 的一部分,现在应该处于后台。

I need to sum two numbers in one activity and then print the result in a new activity

您应该删除 SumAB() 方法并执行以下行为

在这里,您尝试在同一 Activity 中显示结果;如果您想在第二个 Activity 上显示结果,则必须使用

发送此金额
double a, b, somma;
a = Double.parseDouble(tva.getText().toString());
b = Double.parseDouble(tvb.getText().toString());
somma = a + b;
intent.putExtra("SUM", somma);
startActivity(intent);

并使用以下方式在 Activity2 接收此结果:

int somma = getIntet().getIntExtra("SUM", 0); // 0 is the default value

然后将此值设置为 Activity2 上的某个 TextView

myTextView.setText(String.valueOf(somma));

关于java - Android Studio Java 中的两个变量求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62204015/

相关文章:

javascript - Nashorn 解析 TypeScript

android - 以编程方式选择 Android 单词建议

android - 未知使用 FFMPEG 存储大小为 'dstFormat' 构建 PJSIP 时出错

java - NullPointer 异常和 FileInputStream

Java 准备好的语句不起作用?

java - Kotlin float -> 字符串转换问题(也是 Java)

java - 从泛型类调用枚举静态方法

java - 使用多个元素名称反序列化的简单 xml 框架

java - CachedThreadPool 与 FixedThreadPool

java - 在 Android 中打开 PDF 文件