2010-10-21 2 views
0

Мое приложение может запускать суб-действие для определенной цели. Когда эта деятельность заканчивается, я получаю результаты в onActivityResult. Эти результаты затем обрабатываются в последующем onResume. Он состоит из setContentView и также запускает AsyncTask, который создает ProgressDialog.ResourceNotFound при расчете макета

Это все работает хорошо, когда инициируется обычным способом, который осуществляется через пользовательский запрос (например, выбор меню) после того, как приложение запущено и работает. Однако при некоторых условиях мне нужно сделать это правильно, поскольку приложение запускается, поэтому я инициирую эту последовательность прямо из моего onCreate. Что происходит тогда, так это то, что я получаю фатальные ошибки ResourceNotFound в любом вызове o/s, который неявно вызывает разводку макета. Я обошел это с помощью setContentView, предварительно раздувая представление в моем методе onCreate, но onPreExecute AsyncTask по-прежнему не работает на ProgressDialog.show(), поскольку он «не находит» собственный прогресс progress_dialog.xml от Android!

Кто-нибудь знает, что здесь происходит?

Я подозреваю, что это связано с сроками, когда это происходит до того, как основное действие имеет шанс отобразить его экран. Эти вызовы выполняются в основном потоке пользовательского интерфейса, но, возможно, что-то не было выполнено в пределах o/s в этих условиях.

+0

Опубликовать код, мы не нуждаемся в описании вашего кода. – Falmarri

+0

Просьба также указать полный текст сообщения об ошибке. –

ответ

1

Как проблема закрытия, проблема оказалась совершенно не связанной с тем, что я описал в своем посте. Оказывается, это было из-за слепо использования кода, который был опубликован в каком-то онлайн-форуме, показывающем, как получить и использовать AssetManager. Проблема в том, что в конце блока кода он положил «assMan.close()». Ну, это закрывает менеджера активов для всей деятельности, и ресурсы больше не могут быть доступны!

Понадобилось некоторое время, чтобы найти его, поскольку это было не то, что я сделал по собственному пониманию.