Предыстория: я пытаюсь реализовать систему обмена сообщениями в своем приложении и пишу пользовательский CursorAdapter для отображения сообщений в ListView в окне чата. Я хочу использовать другой макет строки для входящих и исходящих сообщений (информация, которая сохраняется в строке SQLite в курсоре). В каждой строке есть одни и те же элементы с одинаковыми идентификаторами, но они расположены по-разному.
Проблема. В настоящее время я переопределил newView() и bindView(). Когда ListView впервые заполняется, он идеально создает все View, проверяя каждую строку, чтобы увидеть, является ли она входящей или исходящей, и раздувает правильный XML-файл. Однако, когда я прокручиваю или в окно добавляется новое сообщение, адаптер повторно использует Views для неправильных строк. Я бы переопределил getView(), но Cursor не передается в качестве параметра, поэтому у меня нет возможности узнать, должна ли строка быть входящей или исходящей.
Я не ищу код, а скорее какое-то предложение по элегантной реализации. Заранее спасибо!