点击FloatingActionButton打开Main2Activity时App崩溃求助
Hey there, let's walk through the common fixes for this crash—since you're new to Android, I'll break it down step by step so it's easy to follow:
检查Main2Activity是否在AndroidManifest.xml中注册
这是Android新手最容易踩的坑!系统要求所有Activity都必须在Manifest文件里声明,否则启动时必然崩溃。请确保在<application>标签内(和MainActivity的声明放在一起)添加这段代码:<activity android:name=".Main2Activity" />确认Activity类名拼写完全正确
仔细核对代码里的Main2Activity.class和你实际创建的Activity类名是否完全一致——大小写、拼写都不能出错,比如别误写成Main2activity或者MainActivity2。查看Logcat获取具体崩溃信息
这是定位问题的关键!打开Android Studio的Logcat窗口,过滤“Error”级别信息,然后重现崩溃操作,你会看到具体的异常提示(比如ActivityNotFoundException、NullPointerException):- 如果是
ActivityNotFoundException,基本就是Manifest没注册或者类名写错了; - 如果是空指针异常,可以再确认下布局文件里的FAB控件ID是不是
fab,和代码里findViewById(R.id.fab)的调用匹配。
- 如果是
换一种Context方式创建Intent试试
你现在用的fab.getContext()通常没问题,但换成MainActivity.this能确保使用的Context是正确的,修改后的代码如下:Intent intent = new Intent(MainActivity.this, Main2Activity.class); startActivity(intent);检查Main2Activity的onCreate方法是否有问题
有时候崩溃不是启动代码的问题,而是Main2Activity自身初始化出错了。你可以先把它的onCreate简化成最基础的样子测试:@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); // 确保这个布局文件存在! }如果这样能正常启动,那问题就出在Main2Activity后续添加的其他代码里。
内容的提问来源于stack exchange,提问作者Berkan

