2014-11-07 3 views
0

Я сомневаюсь, что есть какой-либо способ предотвратить проблему с временным сбоем. На самом деле моя активность в приложении Android имеет listview, и я добавил заголовок и нижний колонтитул, а активность также имеет скользящий фрагмент меню. Проблема в том, что некоторое время, когда моя активность загружает данные с сервера , он становится сбой некоторое время. Я добавил журнал ошибок нижеListview Загрузка сбоя в андроид при загрузке

11-07 10:03:47.230: E/AndroidRuntime(12104): java.lang.IllegalStateException: 
The content of the adapter has changed but ListView did not receive a notification. 
Make sure the content of your adapter is not modified from a background thread, 
but only from the UI thread. Make sure your adapter calls notifyDataSetChanged() 
when its content changes. [in ListView(2131034201, class android.widget.ListView) 
with Adapter(class com.pmg.hpprotrain.MenuFragment$CustomAdapter)] 
+0

разместить свой код здесь –

+0

Вы должны поместить свой код внутри примерки поймать блок. – Tushski

+0

'Содержимое адаптера изменилось, но ListView не получил уведомление' Вставить в Google –

ответ

0

Вызовите notifyDataSetChanged() в главном потоке пользовательского интерфейса. Это решит вашу проблему.

+0

Спасибо Zeeshan за ответ. Я так делаю то, что вы написали. Мое приложение работает, но несколько раз рушится. Фактически я добавил заголовок и нижний колонтитул в listview. Я прикрепляю изображение своего экрана. Если у вас есть идеи, ответьте мне. –

+0

вы не приложите изображение. В любом случае, я предполагаю ситуацию, и я думаю, что вы можете избавиться от этого, просто используя задачу синхронизации. Когда вы работаете в основном потоке, который иногда разбивает ваше приложение. Пожалуйста, используйте отдельный поток. Если это не сработает, отправьте свой код здесь или в лог-коше. Я разрешу это вам. –

+0

также, если мой ответ был полезен для вас, пожалуйста, примите его. благодаря –

0

Я думаю, что вы измените свой список из фоновой темы. Если вы используете AsyncTask для извлечения данных с сервера. затем измените свой список из метода onPostExecute.

частный класс DownloadMp3Task расширяет AsyncTask {

protected Long doInBackground(URL... urls) { 
     //Yet to code 
    } 
protected void onProgressUpdate(Integer... progress) { 
    //Yet to code 
    } 
protected void onPostExecute(Long result) { 
    //Yet to code 
    } 
protected void onPreExecute() { 
    //Yet to code 
    } 
} 
Смежные вопросы