我有一个带有自定义适配器的ListView。我想在ListView中附加一个侦听器,只要ListView中的数据发生更改,就会触发该侦听器,因为这可能会发生多种各样的方式,而且每当ListView更新时我都需要另一个视图来更新。基本上我希望无论何时直接或间接调用notifyDataSetChanged()(通过add(),remove()等)都会触发它。)
每当删除列表中的项目时,我都希望触发该项目。 每当一个项目被添加到列表中时,我希望它能够触发。 等等。
我是否必须创建自己的侦听器才能执行此操作(如果是,请简要说明如何提供帮助)或者是否有内置方式来侦听这些事件?
答案 0 :(得分:21)
我实际上找到了解决方案:
_adapter = new CustomListAdapter(this.getActivity(), _list);
_adapter.registerDataSetObserver(new DataSetObserver()
{
@Override
public void onChanged()
{
// update other view
}
});
完全按照我希望的方式工作!