2010-10-21 87 views
0

我的应用程序可能为特定目的启动子活动。当该活动结束时,我在onActivityResult中获得结果。这些结果然后在随后的onResume中处理。这包含一个setContentView,并启动一个放置ProgressDialog的AsyncTask。ResourceNotFound布局通货膨胀

当启动正常方式时,这一切都可以正常工作,这是在应用程序启动并运行后通过用户请求(即菜单选择)启动的。但是,在某些情况下,我需要在应用程序启动时正确执行此操作,因此我从我的onCreate开始执行此序列。然后会发生的是,在任何隐式调用布局压缩器的o/s调用中,我都会遇到致命的ResourceNotFound错误。我用setContentView通过在我的onCreate方法中预先膨胀视图来解决这个问题,但AsyncTask的onPreExecute在ProgressDialog.show()上仍然失败,因为它“找不到”Android自己的progress_dialog.xml!

任何人都知道这里发生了什么?

我怀疑这是发生在主要活动甚至有机会显示其屏幕之前发生的时间。这些调用都是在主UI线程上进行的,但在这些情况下,可能还没有在o/s内完成。

+0

发布一些代码,我们不需要你的代码的描述。 – Falmarri 2010-10-21 20:49:46

+0

还请包含错误消息的完整堆栈跟踪。 – 2010-10-21 21:33:50

回答

1

作为一个收尾,问题结果与我在文章中描述的完全无关。原来,这是因为盲目地使用了一些在线论坛上发布的代码,这些代码展示了如何获取和使用AssetManager。麻烦的是,他在代码块末尾放了“assMan.close()”。那么,这会关闭整个活动的资产管理器,并且不能再访问资源!

花了一段时间才找到它,因为它不是我通过自己的理解所做的。