安卓应用按下按钮就崩溃?[关闭]

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

我是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);
    }
}

清单文件如下

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.compoundedinterest">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".Main2Activity"></activity>
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

有谁知道为什么我的代码会导致崩溃?

java android android-studio button android-edittext
1个回答
0
投票

你正试图借助意图将控制流从你的当前活动传递到Main2Activity。如果你想把你的 answer 通过这个意图,你必须将这个值添加到意图中,并在Main2Activity的 onCreate.

把意图看作是一个 Map< T, K> 哪儿 T 将是一种 K. 例如: Map<String, Int> 将是一个映射,其中键将是一个字符串,值将是一个Int,("one",1)是一个实例,可以在这个 Map.

要在发送端将值放入Intent中并接收,请参考这个。如何将一个Double值从一个活动检索到另一个活动?


0
投票

崩溃是很容易找到的Android工作室 ,只是使用的Logcat :

  1. 将手机连接到电脑上
  2. 在Android Studio上点击View >Tool Windows >Logcat(或点击工具窗口栏中的Logcat)。
  3. 过滤日志,只显示错误类型的日志(来自你连接的手机)。
  4. 运行你的应用程序,按下按钮,崩溃的描述将清楚地出现在它与行号和它的原因(手机必须保持连接。
© www.soinside.com 2019 - 2024. All rights reserved.