背景:我正在尝试在我的应用程序中实现一个消息传递系统,并且我正在编写一个自定义CursorAdapter
以ListView
在聊天窗口中显示消息。我想为传入和传出消息使用不同的行布局(保存在游标中的 SQLite 行中的信息)。每一行都有相同的元素,它们的 ID 相同,但它们的排列方式不同。
问题:目前,我已经覆盖了newView()
和bindView()
. 当第ListView
一次填充时,它会View
完美地创建所有 s,检查每一行以查看它是传入还是传出,并扩展正确的 XML 文件。但是,当我滚动或将新消息添加到窗口时,适配器会View
为错误的行回收 s。我会覆盖getView()
,但它没有Cursor
作为参数传递,所以我无法知道该行应该是传入还是传出。
我不是在寻找代码,而是在寻找优雅实现的一些建议。提前致谢!