[Android应用程序在按下按钮时崩溃?

问题描述 投票:0回答:2

我对Java和Android都是陌生的,当时正在通过制作一个小应用程序进行练习,该应用程序仅在用户提供利率和年数时计算复利。目前,我只是试图将这两个值相加,然后查看是否可以在第二个活动中将答案发送给EditText。但是由于某种原因,当我此时运行该应用程序并单击该按钮时,Android应用程序崩溃了,我没有足够的经验来理解为什么。这是MainActivity.java文件:

package com.example.compoundedinterest;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {
    private EditText num1;
    private EditText num2;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        num1 = findViewById(R.id.Text1);
        num2 = findViewById(R.id.Text2);
    }

    public void calculateCompoundInterest(View view) {
        Intent intent = new Intent(this, Main2Activity.class);
        String string1;
        string1 = num1.getText().toString();
        String string2;
        string2 = num2.getText().toString();
        double value1;
        double value2;
        value1 = Double.parseDouble(string1);
        value2 = Double.parseDouble(string2);
        double answer;
        answer = value1 + value2;
        startActivity(intent);
    }
}

有人知道我的代码可能造成此崩溃吗?

java android button android-edittext
2个回答
0
投票
answer,则必须将此值添加到该意图并在Main2Activity的

onCreate中接收它。将意图视为Map< T, K>

,其中

T将是K的类型。例如,Map<String, Int>将是一个映射,其中键将是一个字符串,值将是一个Int,(“ one”,1)是可以在此Map]中使用的实例>。要将值放在发送方的Intent中并接收它,请参阅此:how to retrieve a Double value from one activity to another?

崩溃很容易在Android Studio上找到,只需使用Logcat:

将手机连接到计算机

    在Android Studio上,依次单击“视图”>“工具窗口”>“ Logcat”(或在工具窗口栏)。
  1. 过滤日志以仅显示错误类型的日志(来自所连接的电话)。
  2. 运行您的应用程序,按按钮,崩溃的描述将会清楚出现在带有行号及其原因的电话中(电话必须保持联系。:)

0
投票
© www.soinside.com 2019 - 2024. All rights reserved.