我正在使用聊天应用程序,正如标题所述,我想从后台线程访问adapter
的ListView
,向其中添加新的元素(消息),而无需创建新的ListView
和适配器实例,因为导致刷新ListView
并再次滚动,而用户正在查看底部的最后一条消息,并且如果我尝试从我的聊天活动中将适配器设置为static
,它会告诉我它可能会导致内存泄漏,因为适配器正在使用上下文。
1-是否有一种方法可以通过从我的后台线程创建一个新实例来更新ListView
适配器,而在更新或删除我以前的ListView
消息时不回滚至第一个?
2-如果不是,那么,如果我尝试在适配器中使用getApplicationContext()
,以便不会引起泄漏,是否可以正常工作?因为从本主题中我读到,应用程序上下文不会使布局膨胀https://www.aurigait.com/blog/Best+practices-of-appropriate-Context-in-Android/
public class myThread extends Thread
{
Adapter list_view_adapter;
myThread(Adapter adapter)
{
this.list_view_adapter = adapter
}
}
以及如何运行
myThread thread = new myThread(adapter);
https://developer.android.com/reference/androidx/recyclerview/widget/ListAdapter