You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android多Activity应用崩溃求助:点击按钮后应用停止运行

定位并修复你的多Activity应用崩溃问题

嘿,我帮你找到了两个导致应用崩溃的关键问题,咱们一步步来解决:

问题1:MainActivity中控件初始化顺序错误

在MainActivity的onCreate方法里,你先调用了findViewById去获取控件,然后才加载布局文件。这时候布局还没被渲染,main_edit和main_activity_button都会是null,当你点击按钮调用main_edit.getText().toString()时,就会触发NullPointerException(空指针异常),直接导致应用崩溃。

错误代码片段:

@Override
protected void onCreate(Bundle savedInstanceState) {
    main_activity_button = findViewById(R.id.main_activity_button);
    main_edit = findViewById(R.id.main_edit);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

修正后的代码:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main); // 先加载布局
    // 布局加载完成后再获取控件实例
    main_activity_button = findViewById(R.id.main_activity_button);
    main_edit = findViewById(R.id.main_edit);
}

问题2:SecondActivity代码不完整

你贴出的SecondActivity.java代码没有写完,在获取Intent的Extra时突然中断了。这种不完整的代码不仅无法通过编译,即使强行运行也会因为类结构不合法而崩溃。

补全后的SecondActivity代码:

package rinorapps.com.multiactivity;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.EditText;

public class SecondActivity extends AppCompatActivity {
    private EditText second_edit;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.second_activity);
        // 初始化EditText控件
        second_edit = findViewById(R.id.second_edit);
        // 获取从MainActivity传递过来的Intent
        Intent intent = getIntent();
        String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
        // 将传递过来的消息显示到EditText中
        second_edit.setText(message);
    }
}

额外检查点

  • 确保你的strings.xml文件中包含了所有用到的字符串资源(比如@string/main_activity_title_text等),如果缺少这些资源也可能导致运行时崩溃。
  • AndroidManifest.xml中的Activity声明看起来是正确的,不需要修改。

按照上面的修正步骤调整代码后,重新编译运行应用,应该就能正常从MainActivity跳转到SecondActivity并传递输入内容啦~

内容的提问来源于stack exchange,提问作者Dudu Krem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:30:30