Всего лишь несколько мыслей, я лично нахожу, что вся комбинация ListView
и CursorAdapter
будет немного ... ошибаться ... раздутое правильное слово?Будет ли проще иметь комбинацию ScrollView
/ LinearLayout
, которая просто добавит соответствующую TextView
в соответствии с запросом?
Но что касается вашего решения, так как пользователь, кажется, не может изменитьПорядок сообщений по мере их добавления, вы можете добавить поле ArrayList<String>
в свой пользовательский CursorAdapter
, которое будет отслеживать, являются ли сообщения входящими или исходящими.Что-то вроде:
private ArrayList<String> cursorMonitor; //"incoming" and "outgoing" as your options.
... и затем внутри, где бы ни был заполнен ListView
, просто используйте
cursorMonitor.add(my_cursor.getString("outgoing_or_incoming"));
А затем в getView()
вы можете переопределить его и использоватьcursorMonitor
чтобы определить, какую разметку нужно раздувать.