2010-07-26 72 views
0

我得到一個未找到類的異常。從另一個活動中調用mapactivity

我已經在清單文件中包含了必需的條目。 在當前活動的代碼如下:

Intent i = new Intent(MainListingA.this, DrawTheatreMap.class); 

      try{ 
      startActivity(i); 

      } 

........

我得到的錯誤如下:

07-26 23:03:20.259: WARN/dalvikvm(307): threadid=1: thread exiting with uncaught exception (group=0x4001d800) 
07-26 23:03:20.397: ERROR/AndroidRuntime(307): FATAL EXCEPTION: main 
07-26 23:03:20.397: ERROR/AndroidRuntime(307): java.lang.NoClassDefFoundError: com.mobilo.movie.DrawTheatreMap 
07-26 23:03:20.397: ERROR/AndroidRuntime(307):  at com.mobilo.movie.MainListingA$1.onItemClick(MainListingA.java:101) 
07-26 23:03:20.397: ERROR/AndroidRuntime(307):  at android.widget.AdapterView.performItemClick(AdapterView.java:284) 
07-26 23:03:20.397: ERROR/AndroidRuntime(307):  at android.widget.ListView.performItemClick(ListView.java:3382) 
07-26 23:03:20.397: ERROR/AndroidRuntime(307):  at android.widget.AbsListView$PerformClick.run(AbsListView.java:1696) 
07-26 23:03:20.397: ERROR/AndroidRuntime(307):  at android.os.Handler.handleCallback(Handler.java:587) 
07-26 23:03:20.397: ERROR/AndroidRuntime(307):  at android.os.Handler.dispatchMessage(Handler.java:92) 
07-26 23:03:20.397: ERROR/AndroidRuntime(307):  at android.os.Looper.loop(Looper.java:123) 
07-26 23:03:20.397: ERROR/AndroidRuntime(307):  at android.app.ActivityThread.main(ActivityThread.java:4627) 
07-26 23:03:20.397: ERROR/AndroidRuntime(307):  at java.lang.reflect.Method.invokeNative(Native Method) 
07-26 23:03:20.397: ERROR/AndroidRuntime(307):  at java.lang.reflect.Method.invoke(Method.java:521) 
07-26 23:03:20.397: ERROR/AndroidRuntime(307):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
07-26 23:03:20.397: ERROR/AndroidRuntime(307):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
07-26 23:03:20.397: ERROR/AndroidRuntime(307):  at dalvik.system.NativeStart.main(Native Method) 

任何幫助,高度讚賞。

在獨立的基礎上,相同的地圖活動正常工作。

RGDS,PP

回答

0

我經常遇到錯誤時,申請在缺少了谷歌的API的模擬器中運行,由於Android找不到MapActivity類。

+0

不是這種情況!我已經使用Google地圖API創建項目。還有一些額外的細節可以幫助您檢查我的問題:錯誤是當我創建intent並傳遞擴展MapActivity的類時。 。其次,如果我用其他任何類型的活動來替代它,整個事情就會奏效。任何想法什麼是錯誤的? – user395482 2010-07-27 07:40:06

+0

@ user395482:「我已經使用Google地圖API創建項目。」 - 這與它沒有任何關係。 「有什麼想法是錯誤的?」 - 正如我寫的,當應用程序在缺少Google API的模擬器上運行時,通常會遇到該錯誤,因爲Android無法找到MapActivity類。確保你的*模擬器AVD *具有Google API。 – CommonsWare 2010-07-27 08:03:02

+0

@CommonsWare:我和@ user395482有同樣的問題,你的回答看起來很合理。但是,如何確保模擬器具有Google API?我創建了一個新的AVD,並選擇了「Google API(Google Inc.)」作爲「目標名稱」。應該這樣做嗎?? – 2010-08-17 10:19:03

12

您可能有uses-library -Tag位置錯誤,至少這是我的問題一次,Eclipse/Google SDK不會對此抱怨。它必須在application之下,與使用權限不同 - 應用程序標籤旁邊的權限。

它應該是這樣的:

<manifest ...> 

    <uses-permission android:name="android.permission.INTERNET" /> 

    <application ...> 

     <uses-library android:name="com.google.android.maps" /> 

    </application> 

</manifest> 
+0

謝謝,應用程序標記內的地圖權限! – scottyab 2011-08-24 19:40:54

0

是把使用地圖的許可在模擬器固定它爲我的應用程序標籤內。 V-2.1.1

0

簡單的答案是隻要改變主要活動,以延長MapActivity並添加一些未實現的方法有像

@Override 
protected boolean isRouteDisplayed() { 

} 

所以ü有一個正常的活動轉化爲MapActivity但不添加任何地圖視圖在那裏你可以自由地使用任何與MapActivity的東西,因爲它具有正常活動的所有屬性,它爲我工作!