Необходимо постоянно обновлять список чатов в ListView и этот список пользователь может постоянно прокручивать.
Обновление делаю в
private TimerTask timerTask = new TimerTask() {
@Override
public void run() {
if(isLoading) return;
arrayChat.clear();
loadChatList(((BaseActivity)getActivity()).login, ((BaseActivity)getActivity()).key, limit,0,"");
}
};
Вся проблема в arrayChat.clear(). Если пользователь в данный момент прокручивает список, то на этой строчке появляется ошибка IndexOutOfBoundsException: Index: 58, Size: 0.
Как можно это попроще обыграть если не делать функцию, которая будет обновлять список без обнуления? Или без этой функции не обойтись?
Оказалось проще написать следущее))
int index = arrayChat.indexOf(chat);
if(index>-1)
{
if(index!=j) {
arrayChat.remove(chat);
arrayChat.add(j, chat);
}
}
else
arrayChat.add(chat);
Всем спасибо.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей