作者LaPass (LaPass)
看板AndroidDev
標題[問題] 我屁股著火了 ActivityNotFoundException
時間Sat Oct 1 20:11:52 2011
我在Activity中設計一個按鈕
打算讓他在按下去時開啟另一個Activity
結果一執行到 startActivity(); 的時候
就會吐 ActivityNotFoundException
查了一下,幾乎所有說明都寫:
要在 AndroidManifest.xml中註冊才不會出錯
問題是.....
我已經有註冊了啊!
很奇怪,我之前加別的Activity到程式中都沒出問題
搞不清楚為什麼這次就出問題了。
看了整個下午還是找不出原因,想請大家幫忙看一下
MapShow.java
//========================================
package com.seelife.clentf02;
public class MapShow extends MapActivity implements LocationListener
{
(....中略.....)
Intent intent = new Intent();
intent.setClass(MapShow.this,UserShow.class);
startActivity(intent);
(....中略.....)
}
AndroidManifest.xml
//========================================
<?xml version="1.0" encoding="utf-8"?>
<manifest .........>
<application ...................>
<activity ........> </activity>
<service ..........>
<intent-filter >
<action ................ />
</intent-filter >
</service >
<activity android:name=".MapShow">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="UserShow" android:label="@string/app_name">
</activity>
</application>
</manifest>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.233.155.16
1F:推 ericinttu:可能是另外一個activity起來的時候有問題. 10/01 20:30
2F:→ ericinttu:UserShow 的 layout, 是沒有問題的嗎? 10/01 20:31
3F:→ LaPass:我在UserShow的開頭有加Log.d()去顯示訊息,在跑到那一行之 10/01 20:33
4F:→ LaPass:前 (讀取layout之前) 就當了 10/01 20:34
5F:推 ericinttu: 哪一行? 10/01 20:34
6F:推 ericinttu:<activity android:name=".UserShow" 10/01 20:36
7F:→ ericinttu: ↑ 加個點吧 10/01 20:37
8F:→ LaPass:我去試試看 10/01 20:38
9F:→ Killercat:有工具用就用工具加吧..... 10/01 20:38
10F:→ LaPass:還是一樣 orz.... 10/01 20:40
11F:→ LaPass:我是用工具加的啊.... 10/01 20:40
12F:推 ericinttu:應該是其他原因吧. 剛剛自己開新專案寫了一個, 是正常的 10/01 20:55
13F:→ ericinttu:activity name ".xxx" 有沒有加點都可以過了(有被嚇到XD 10/01 20:57
14F:→ LaPass:找到原因了..... = =||| 10/01 20:58
剛剛用重構把UserShow重新命名後,發現
intent.setClass(MapShow.this,UserShow.class);
↑
這裡沒變
<activity android:name="UserShow" android:label="@string/app_name">
↑
這裡變了
把滑鼠移上去,才發現他指的是我另一個檔案中的innerclass 也叫做UserShow
public final class CTag
{
(.....中略.....)
public static final class UserShow
{
public static final String Uid ="UserShowUid";
(.....中略.....)
}
(.....中略.....)
}
※ 編輯: LaPass 來自: 125.233.155.16 (10/01 21:03)
15F:→ ericinttu:改到別的檔? 10/01 20:59
16F:→ qrtt1:什麼原因!? 10/01 21:02
17F:→ LaPass:對不起... 我太粗心 orz 10/01 21:03
18F:→ jain00:是檔名重覆嗎? 10/01 22:48
19F:→ LaPass:類別名稱重複 10/01 23:20
20F:→ laiis:嗯... 重複名稱... 筆記筆記 10/02 00:22