Я немного прочитал об исключении, которое выдается при использовании BaseAdapter, но я не могу найти альтернативное решение: Убедитесь, что содержимое вашего адаптера не изменено из фонового потока
Чего я хочу добиться, так это сохранить копию очереди сообщений в памяти и использовать эту очередь сообщений для заполнения BaseAdapter для моего ListView.Причина, по которой я это делаю, заключается в том, что очередь сообщений будет продолжать получать сообщения из сокета, даже если ListView в данный момент отсутствует (например, окно чата).
Проблема возникает, когда у меня есть Activity с ListView на переднем плане, BaseAdapter , привязанный к данным очереди сообщений, и сообщение приходитв розетку.Добавление нового сообщения в очередь вызовет исключение, упомянутое выше.Если я предварительно не заполню свой BaseAdapter очередью сообщений (как в BaseAdapter, имеющей собственную очередь сообщений) и не обновлю их оба при поступлении нового сообщения, я не могу найти способ обойти этопроблема.
Я действительно не хочу удваивать усилия по поддержанию этих двух очередей в актуальном состоянии, как это, конечно, есть лучший способ сделать это?Отправка широковещательных сообщений также не работает из-за потенциальной задержки адаптера, обслуживающего прокрутку, и выполняется вызов notifyDataSetChanged.