2012-01-10 132 views
0

我碰到下面的logcat當我試圖表現出alertdialog:安卓alertdialog錯誤

10月一日至四日:14:06.440:ERROR/AndroidRuntime(5993):致命異常:主要 android.content.res。資源$ NotFoundException:來自可繪製資源ID#0x108022c 的文件res/drawable-mdpi/dialog_top_holo_dark.9.png在android.content.res.Resources.loadDrawable(Resources.java:1942) at android.content.res.Resources。 getDrawable(Resources.java:664) at android.view.View.setBackgroundResource(View.java:11695) at com.android.internal.app.AlertController.setBackground(AlertController.java:659) at com.android。 internal.app.Al ertController.setupView(AlertController.java:429) at android.app.AlertDialog.onCreate(AlertDialog.java:336) at android。com.android.internal.app.AlertController.installContent(AlertController.java:241) 在android.app.AlertDialog上使用app.Dialog.dispatchOnCreate(Dialog.java:353) at android.app.Dialog.show(Dialog.java:257) $ Builder.show(AlertDialog.java:932) at com。 sms.MyActivity $ 3.onClick(MyActivity.java:180) at android.view.View.performClick(View.java:3511) at android.view.View $ PerformClick.run(View.java:14105) at android .os.Handler.handleCallback(Handler.java:605) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4424) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang .reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:784) at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:551) at dalvik.system.NativeStart.main(Native Method) 引起:java.io.FileNotFoundException:res/drawable-mdpi/dialog_top_holo_dark.9.png at android.content.res.AssetManager.openNonAssetNative (Native Method) at android.content.res.AssetManager.openNonAsset(AssetManager.java:407) at android.content.res.Res ources.loadDrawable(Resources.java:1934) ...... 21多個

任何人都可以點我在正確的方向,到目前爲止谷歌搜索毫無結果..

回答

0

你只需要好好檢查日誌,它顯然是說它無法找到dialog_top_holo_dark.9.png,你是否將該文件放在適當的資源文件夾中。

還有一件事,如果你已經把文件放在正確的位置,那就給乾淨的構建,有時更改不反映,所以最好給乾淨的構建。

1

這裏的關鍵是行:android.content.res.Resources$NotFoundException: File res/drawable-mdpi/dialog_top_holo_dark.9.png from drawable resource ID #0x108022c1。這意味着運行時編譯器無法找到合適的文件dialog_top_holo_dark.9.png

現在,它正在查看您的/res/drawable-mdpi/文件夾。如果不是默認返回res/drawable/,那意味着經常出現這個名字被檢測到,但是讀取該文件時出現錯誤。這意味着你需要按照這個順序做這些事情。

  1. 首先,請確保您的可繪製文件夾中有一個文件名dialog_top_holo_dark.9.png

  2. 第二,確保該文件與.9.png擴展名結尾。

  3. 如果文件確實存在,但有一個紅色的X標記錯誤:打開文件在你的圖形編輯器並重新保存具有相同名稱的文件。

  4. 如果不能擺脫紅色的X,清理項目。在eclipse中,這是通過點擊菜單中的Project - > Clean來完成的。

  5. 如果仍不能解決問題,則可能有劃痕重拍文件。

如果從文件系統或從另一個項目導入.png.9.png這有時會發生。 Eclipse和Android SDK並不總是正確地獲取和複製文件。我有過這種情況發生在一些圖形文件。只要按照上述步驟操作,該問題就會在該項目中永久解決。

希望這有助於

FuzzicalLogic

+0

我有這個名字的文件不叫這個名字導入任何文件。我正在使用Holo主題,不應該將該文件包含在內嗎? – McAvoy 2012-01-11 05:16:58

+0

是的,它應該,但它會在您引用的API特定包中。你實際上可以搜索整個包並確保包含它。我會爲你編輯一個。 – 2012-01-11 20:30:27