android alertdialog错误

时间:2012-01-10 17:30:51

标签: android alertdialog

当我尝试显示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个

任何人都可以指出我正确的方向,到目前为止谷歌搜索已经证明没有结果..

2 个答案:

答案 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/,这意味着 通常会检测到该名称,但读取文件时出错。这意味着您需要按此顺序执行这些操作。

  1. 首先,请确保您的可绘制文件夹中有一个文件名dialog_top_holo_dark.9.png

  2. 其次,请确保该文件以.9.png扩展名结尾。

  3. 如果文件 存在,但红色X标记错误:在图形编辑器中打开文件并使用相同的名称重新保存文件。

  4. 如果这没有消除红色X,请清理您的项目。在eclipse中,这可以通过单击Project - >来完成。在菜单中清洁。

  5. 如果仍然无法解决问题,您可能需要从头开始重新制作文件。

  6. 如果从文件系统或其他项目导入.png.9.png,有时会发生这种情况。 Eclipse和Android SDK并不总是正确地获取和复制文件。我发生了很多图形文件。只要我按照上述步骤操作,该问题就会在该项目中永久解决该文件。

    希望这有帮助,

    FuzzicalLogic

答案 1 :(得分:0)

你只需要正确检查日志,显然它无法找到dialog_top_holo_dark.9.png,你是否将该文件放在适当的资源文件夹中。

还有一件事,如果你把文件放在正确的位置,只需给出干净的版本,有时候更改不会反映出来,所以最好给出干净的版本。