点击About菜单后应用崩溃,请求排查问题(附相关代码)
问题分析与修复方案
1. 菜单Item ID匹配错误(核心问题)
你在MainActivity.java的onOptionsItemSelected方法中,switch分支的case写了无效的R.id.,这会导致点击About按钮时无法匹配到对应的逻辑,甚至触发异常引发崩溃。正确写法应该对应menu.xml中定义的about ID:
public boolean onOptionsItemSelected(MenuItem item){ switch (item.getItemId()){ case R.id.about: // 修正为正确的ID Intent intent = new Intent(MainActivity.this, AboutActivity.class); startActivity(intent); break; } return super.onOptionsItemSelected(item); }
2. 检查Activity的exported属性(适配Android 12+)
在AndroidManifest.xml中你将AboutActivity的exported设为false,如果应用运行在Android 12(API 31)及以上系统,虽然同一应用内启动该Activity理论上允许,但如果崩溃日志提示权限相关错误,可尝试将exported改为true:
<activity android:name=".AboutActivity" android:exported="true"> </activity>
3. 可选:排查布局控件空指针
如果崩溃日志显示NullPointerException,请确认activity_about.xml中存在id为textViewLink的TextView,否则findViewById会返回null,调用setMovementMethod时会触发崩溃。
内容的提问来源于stack exchange,提问作者Adam Rahim
相关产品推荐
相关产品推荐

