首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Android 點擊按鈕跳轉 Activity 失敗?包名聲明不匹配

     編輯:程式設計疑難解答

錯誤現象:點擊按鈕 App 崩潰,Logcat 提示 `ActivityNotFoundException`。

根因分析

代碼中啟動 Intent 目標為 `.SetActivity`(隱式包名),但實際類位於 `cn.itcast.set` 包下,而 `AndroidManifest.xml` 註冊為:

<activity android:name=".SetActivity" />  // 解析為 cn.itcast.one.SetActivity

導致系統找不到 `cn.itcast.one.SetActivity` 而崩潰。

修復方案

在 `AndroidManifest.xml` 中使用**完整包名**:

<activity android:name="cn.itcast.set.SetActivity" />

或將 Activity 移動到 `cn.itcast.one` 包下保持一致。

避坑指南

  • 新建 Activity 時勾選「Export」自動生成完整聲明;
  • 重構包名時用 IDE 的 Refactor → Rename,自動同步 Manifest;
  • 啟動時盡量用顯式 Intent:`new Intent(this, SetActivity.class)`,編譯期即可檢查類是否存在。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved