我需要从后台线程访问listview适配器

问题描述 投票:0回答:1

我正在使用聊天应用程序,正如标题所述,我想从后台线程访问adapterListView,向其中添加新的元素(消息),而无需创建新的ListView和适配器实例,因为导致刷新ListView并再次滚动,而用户正在查看底部的最后一条消息,并且如果我尝试从我的聊天活动中将适配器设置为static,它会告诉我它可能会导致内存泄漏,因为适配器正在使用上下文。

1-是否有一种方法可以通过从我的后台线程创建一个新实例来更新ListView适配器,而在更新或删除我以前的ListView消息时不回滚至第一个?

2-如果不是,那么,如果我尝试在适配器中使用getApplicationContext(),以便不会引起泄漏,是否可以正常工作?因为从本主题中我读到,应用程序上下文不会使布局膨胀https://www.aurigait.com/blog/Best+practices-of-appropriate-Context-in-Android/

android listview adapter android-adapter android-context
1个回答
0
投票
您可以将相应的适配器传递给您的实例化线程

public class myThread extends Thread { Adapter list_view_adapter; myThread(Adapter adapter) { this.list_view_adapter = adapter } }

以及如何运行

myThread thread = new myThread(adapter);


0
投票
为什么不将RecyclerView与ListAdapter一起使用?

https://developer.android.com/reference/androidx/recyclerview/widget/ListAdapter

© www.soinside.com 2019 - 2024. All rights reserved.