我正在使用一个带有适配器的listView,它有一个过滤器。 过滤器运行良好,并使用notifyDataSetChanged更新listView。 但现在我想显示listview项目的数量。
我试过
searchView.QueryTextChange += (sender, e) => {
_adapter.Filter.InvokeFilter (e.NewText);
Title = _adapter.Count; // also tryed listView.Count
};
但它显示了上次搜索的项目数,而不是当前项。是否有像过滤器监听器那样我可以更新结果?
android - listview filter count
我看到了这个,但我怎样才能在Xamarin中实现它?
答案 0 :(得分:1)
您的班级应该实施IFilterListener
。然后将类实例添加到InvokeFilter方法,从而导致在过滤器完成时调用Interface方法。
class MyClass : Android.Widget.Filter.IFilterListener
{
...
searchView.QueryTextChange += (sender, e) =>
{
_adapter.Filter.InvokeFilter(e.NewText, this);
};
...
public void OnFilterComplete(int count)
{
Title = count.ToString();
}
}