我收到以下崩溃日志,显示在显示ProgressDialog时缺少progress_dialog.xml。
android.content.res.Resources$NotFoundException: File res/layout/progress_dialog.xml from xml type layout resource ID #0x109007a
at android.content.res.Resources.loadXmlResourceParser(Resources.java:2152)
at android.content.res.Resources.loadXmlResourceParser(Resources.java:2107)
at android.content.res.Resources.getLayout(Resources.java:857)
at android.view.LayoutInflater.inflate(LayoutInflater.java:394)
at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
at android.app.ProgressDialog.onCreate(ProgressDialog.java:165)
at android.app.Dialog.dispatchOnCreate(Dialog.java:415)
at android.app.Dialog.show(Dialog.java:284)
at com.company.game.MyClass$5.run(MyClass.java:333)
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:4477)
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:788)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.io.FileNotFoundException: res/layout/progress_dialog.xml
at android.content.res.AssetManager.openXmlAssetNative(Native Method)
at android.content.res.AssetManager.openXmlBlockAsset(AssetManager.java:487)
at android.content.res.Resources.loadXmlResourceParser(Resources.java:2134)
... 17 more
我没有使用自定义ProgressDialog。我已经给出了以下代码:
public static ProgressDialog mActivityInticator = null;
public static void ShowActivityInticator()
{
MyActivity.runOnUiThread(new Runnable()
{
@Override
public void run()
{
if(mActivityInticator == null)
{
mActivityInticator = new ProgressDialog(context);
mActivityInticator.setMessage("Loading...");
mActivityInticator.setCancelable(false);
}
mActivityInticator.show();
}
});
}
任何人都可以告诉我为什么它会在某些设备中崩溃。
答案 0 :(得分:0)
<强>更新强>
由于您正在使用cpp
并获取xml异常,因此在设置中设置某些属性值可能会出现问题。另一项修复是使用getParent()
而不是context
。并在其中进行空检查
使用
runOnUiThread(new Runnable()
{
public void run()
{
//your code
}
});
不在评论中