如何在列表数据更改时触发的 ListView 上设置监听器?
How can one set a listener on a ListView that triggers whenever the list's data changes?
我有一个带有自定义适配器的 ListView。我想将一个侦听器附加到此 ListView,只要 ListView 中的数据发生变化,它就会触发,因为这可能会以多种方式发生,并且我需要另一个视图在 ListView 更新时进行更新。本质上,我希望在直接或间接(通过 add()、remove() 等)调用 notifyDataSetChanged() 时触发它:
每当删除列表中的项目时,我都希望触发它。
每当将项目添加到列表中时,我都希望触发它。
等等等等
我是否必须创建自己的侦听器才能执行此操作(如果是,简要说明如何做会非常有帮助)或者是否有内置的方式来侦听这些事件?
我实际上找到了解决方案:
_adapter = new CustomListAdapter(this.getActivity(), _list);
_adapter.registerDataSetObserver(new DataSetObserver()
{
@Override
public void onChanged()
{
// update other view
}
});
完全按照我希望的方式工作!
我有一个带有自定义适配器的 ListView。我想将一个侦听器附加到此 ListView,只要 ListView 中的数据发生变化,它就会触发,因为这可能会以多种方式发生,并且我需要另一个视图在 ListView 更新时进行更新。本质上,我希望在直接或间接(通过 add()、remove() 等)调用 notifyDataSetChanged() 时触发它:
每当删除列表中的项目时,我都希望触发它。 每当将项目添加到列表中时,我都希望触发它。 等等等等
我是否必须创建自己的侦听器才能执行此操作(如果是,简要说明如何做会非常有帮助)或者是否有内置的方式来侦听这些事件?
我实际上找到了解决方案:
_adapter = new CustomListAdapter(this.getActivity(), _list);
_adapter.registerDataSetObserver(new DataSetObserver()
{
@Override
public void onChanged()
{
// update other view
}
});
完全按照我希望的方式工作!