自制App点击登录按钮崩溃,跳转LoginActivity失败
我开发了一款具备用户名/密码注册功能的基础App(注册功能正常),但点击登录按钮时App直接崩溃退回手机主屏幕,无法跳转到预期的LoginActivity。登录按钮的点击事件代码如下:
signin.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent1 = new Intent(getApplicationContext(), LoginActivity.class); startActivity(intent1); } }
常见原因及解决方法
1. 未在AndroidManifest.xml中注册LoginActivity
这是最常见的触发原因,Android系统无法识别未注册的Activity。打开AndroidManifest.xml,确认LoginActivity已在<application>标签内完成注册,格式示例:<activity android:name=".LoginActivity" />若
LoginActivity位于不同包下,需填写完整类名,比如com.example.myapp.LoginActivity。2. 代码语法错误
检查给出的代码可以发现,setOnClickListener的代码块末尾缺少闭合的);,修正后的正确代码如下:signin.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent1 = new Intent(getApplicationContext(), LoginActivity.class); startActivity(intent1); } }); // 补充缺失的闭合括号与分号这类语法错误会直接引发运行时异常,导致App崩溃。
3. LoginActivity内部存在初始化异常
即便跳转逻辑正确,若LoginActivity的onCreate方法中存在错误(比如未初始化的控件、空指针异常、无效资源引用等),也会导致跳转时崩溃。可以查看Logcat中的错误日志,搜索LoginActivity相关的异常信息,快速定位具体问题。4. Context使用不当
尽量避免使用getApplicationContext()启动Activity,改用当前Activity的上下文(比如YourCurrentActivity.this),应用上下文在部分场景下无法正确启动Activity:Intent intent1 = new Intent(YourCurrentActivity.this, LoginActivity.class); startActivity(intent1);
排查建议
优先查看Logcat的崩溃日志,搜索FATAL EXCEPTION关键字,日志会明确标注崩溃原因(比如ActivityNotFoundException、NullPointerException等),这是定位问题最直接的方式。
内容的提问来源于stack exchange,提问作者Infin8

