Надеясь, что кто-то может помочь с этим, что кажется мне специфической проблемой .. Мой разум немного пульсирует, поскольку это подорвало мое понимание жизненного цикла Android Activity .. Позвольте мне попытаться прояснить ситуацию.
Проблема: я получаю «StaleDataException» во время метода «getView» пользовательского адаптера (расширяющего BaseAdapter), который я использую в действии для заполнения GridView.Звучит прямо сейчас ... Когда я впервые приступаю к занятию, адаптер работает как положено, и сетка заполнена.У меня есть кнопка на активности, которая запускает Намерение, чтобы позволить пользователю сделать фотографию, и возвращается через 'onActivityResult', сохраняя изображение в базе данных.Это все работало также.Фактически я сначала написал эту часть, а затем добавил адаптер и сетку.
Теперь возникает StaleDataException, когда я иду в камеру, чтобы сделать снимок, а затем нажимаю кнопку ОК, чтобы вернуться ... ЯВ большинстве событий моей деятельности содержится много операторов Log, и очень странно возникает исключение StaleDataException до того, как ЛЮБОЙ из этих событий будет запущен ... до OnActivityResult / OnResume и т. д.
Так что я совершенно не понимаю, почемуДоступ к адаптеру осуществляется до того, как я правильно вернусь к своей деятельности и до того, как onActivityResult / OnResume был вызван ..
Отладка шагов, которые приводят к исключению, все это происходит в этой строке:
String contentType = dataCursor.getString(dataCursor.getColumnIndexOrThrow(DbStatics.ACCIDENTS_MEDIA_KEY_TYPE));
Что также сбивает меня с толку, так это то, что dataCursor на самом деле открыт, и первый вызов (getColumnIndexOrThrow) также возвращает значение .. поэтому его getString () приводит к исключению.
Так что янадеюсь, что это достаточно ясно ... и действительно очень надеюсь, что кто-то может пролить свет на то, что происходитна ..
Большое спасибо,