当我尝试显示alertdialog时,我得到以下logcat:
01-04 10:14:06.440:ERROR / AndroidRuntime(5993):致命异常:主要 android.content.res.Resources $ NotFoundException:来自可绘制资源ID的文件res / drawable-mdpi / dialog_top_holo_dark.9.png#0x108022c 在android.content.res.Resources.loadDrawable(Resources.java:1942) 在android.content.res.Resources.getDrawable(Resources.java:664) 在android.view.View.setBackgroundResource(View.java:11695) 在com.android.internal.app.AlertController.setBackground(AlertController.java:659) 在com.android.internal.app.AlertController.setupView(AlertController.java:429) 在com.android.internal.app.AlertController.installContent(AlertController.java:241) 在android.app.AlertDialog.onCreate(AlertDialog.java:336) 在android.app.Dialog.dispatchOnCreate(Dialog.java:353) 在android.app.Dialog.show(Dialog.java:257) 在android.app.AlertDialog $ Builder.show(AlertDialog.java:932) at com.sms.MyActivity $ 3.onClick(MyActivity.java:180) 在android.view.View.performClick(View.java:3511) 在android.view.View $ PerformClick.run(View.java:14105) 在android.os.Handler.handleCallback(Handler.java:605) 在android.os.Handler.dispatchMessage(Handler.java:92) 在android.os.Looper.loop(Looper.java:137) 在android.app.ActivityThread.main(ActivityThread.java:4424) at java.lang.reflect.Method.invokeNative(Native Method) 在java.lang.reflect.Method.invoke(Method.java:511) 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:784) 在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 在android.content.res.AssetManager.openNonAssetNative(本机方法) 在android.content.res.AssetManager.openNonAsset(AssetManager.java:407) 在android.content.res.Resources.loadDrawable(Resources.java:1934) ......还有21个
任何人都可以指出我正确的方向,到目前为止谷歌搜索已经证明没有结果..
答案 0 :(得分: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/
,这意味着 通常会检测到该名称,但读取文件时出错。这意味着您需要按此顺序执行这些操作。
首先,请确保您的可绘制文件夹中有一个文件名dialog_top_holo_dark.9.png
。
其次,请确保该文件以.9.png
扩展名结尾。
如果文件 存在,但红色X标记错误:在图形编辑器中打开文件并使用相同的名称重新保存文件。
如果这没有消除红色X,请清理您的项目。在eclipse中,这可以通过单击Project - >来完成。在菜单中清洁。
如果仍然无法解决问题,您可能需要从头开始重新制作文件。
如果从文件系统或其他项目导入.png
或.9.png
,有时会发生这种情况。 Eclipse和Android SDK并不总是正确地获取和复制文件。我发生了很多图形文件。只要我按照上述步骤操作,该问题就会在该项目中永久解决该文件。
希望这有帮助,
FuzzicalLogic
答案 1 :(得分:0)
你只需要正确检查日志,显然它无法找到dialog_top_holo_dark.9.png,你是否将该文件放在适当的资源文件夹中。
还有一件事,如果你把文件放在正确的位置,只需给出干净的版本,有时候更改不会反映出来,所以最好给出干净的版本。