2011-04-20 21 views
5

該應用在HPDI和MDPI上運行良好,但是在LDPI(v2.0)仿真器中運行時,我會在下面看到異常和堆棧跟蹤。爲什麼我的應用程序試圖使用drawable-mdpi/title_bar_shadow.9.png?

爲什麼它尋找此圖像? (它沒有在我的應用程序中引用,我已經檢查過)。無論如何,起始者活動已禁用標題欄。

如果操作系統期望這張圖片,爲什麼它不存在?

當模擬器是LDPI時,爲什麼與MPDI圖像有關的異常?

04-20 11:35:19.432: ERROR/AndroidRuntime(236): Uncaught handler: thread main exiting due to uncaught exception 
04-20 11:35:19.502: ERROR/AndroidRuntime(236): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.spondle/com.spondle.EventsActivity}: android.view.InflateException: Binary XML file line #14: Error inflating class <unknown> 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2454) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2470) 
     at android.app.ActivityThread.access$2200(ActivityThread.java:119) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821) 
     at android.os.Handler.dispatchMessage(Handler.java:99) 
     at android.os.Looper.loop(Looper.java:123) 
     at android.app.ActivityThread.main(ActivityThread.java:4310) 
     at java.lang.reflect.Method.invokeNative(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:521) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 
     at dalvik.system.NativeStart.main(Native Method) 
     Caused by: android.view.InflateException: Binary XML file line #14: Error inflating class <unknown> 
     at android.view.LayoutInflater.createView(LayoutInflater.java:513) 
     at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) 
     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:563) 
     at android.view.LayoutInflater.rInflate(LayoutInflater.java:618) 
     at android.view.LayoutInflater.rInflate(LayoutInflater.java:621) 
     at android.view.LayoutInflater.inflate(LayoutInflater.java:407) 
     at android.view.LayoutInflater.inflate(LayoutInflater.java:320) 
     at android.view.LayoutInflater.inflate(LayoutInflater.java:276) 
     at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:198) 
     at android.app.Activity.setContentView(Activity.java:1622) 
     at com.spondle.EventsActivity.onCreate(EventsActivity.java:38) 
     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2417) 
     ... 11 more 
     Caused by: java.lang.reflect.InvocationTargetException 
     at android.widget.ImageView.<init>(ImageView.java:105) 
     at java.lang.reflect.Constructor.constructNative(Native Method) 
     at java.lang.reflect.Constructor.newInstance(Constructor.java:446) 
     at android.view.LayoutInflater.createView(LayoutInflater.java:500) 
     ... 23 more 
     Caused by: android.content.res.Resources$NotFoundException: File res/drawable-mdpi/title_bar_shadow.9.png from drawable resource ID #0x7f02002a 
     at android.content.res.Resources.loadDrawable(Resources.java:1710) 
     at android.content.res.TypedArray.getDrawable(TypedArray.java:548) 
     at android.widget.ImageView.<init>(ImageView.java:115) 
     ... 27 more 
     Caused by: java.io.FileNotFoundException: res/drawable-mdpi/title_bar_shadow.9.png 
     at android.content.res.AssetManager.openNonAssetNative(Native Method) 
     at android.content.res.AssetManager.openNonAsset(AssetManager.java:391) 
     at android.content.res.Resources.loadDrawable(Resources.java:1702) 
     ... 29 more 
+0

嘗試將相同的圖像(具有相同的名稱和內容)放入ldpi文件夾中。 – Robert 2011-04-20 11:59:53

+0

該圖像與我的項目無關,它不存在於任何文件夾中。 – 2011-04-20 12:01:35

+0

也許你可以把一些代碼? – Robert 2011-04-20 16:53:45

回答

3

如果操作系統期望這張圖片,爲什麼它不存在?

當模擬器是LDPI時,爲什麼與MPDI圖像有關的異常?

如果請求的資源(title_bar_shadow.9.png)不存在於drawable-ldpi(並且直到Android 2.3),Android會嘗試找到最佳匹配(drawable-mdpi將成爲下一個要搜索的文件夾)。無論如何,該文件不會在那裏找到(再次,它不在那裏,直到Android 2.3)。所以下一步就是在drawable-hdpi(它可以找到的地方)搜索它。但顯然搜索停止在drawable-mdpi上(這很奇怪...也許是Android 2.1中的一個錯誤?你可以試試Android 2.2模擬器)

爲什麼它正在尋找此圖像? (它沒有在我的應用程序中引用,我已經檢查過)。無論如何,起始者活動已禁用標題欄。

標題欄不使用此圖像(陰影)。它顯示在標題欄下方。 要讓它消失,你必須創建自己的主題,如:

<style 
    name="Theme" 
    parent="android:Theme.NoTitleBar"> 
    <item 
    name="android:windowContentOverlay">@null</item> 
</style> 
2

我解決了這個問題,使從繪製,LDPI/MDIP /華電國際影像的副本可提拉(只繪製)文件夾。在這個文件夾中放入你的低分辨率圖像。

您不需要在這些文件夾上有一個title_bar_shadow.9.png文件。

相關問題