Xamarin - 获取适配器的过滤器计数

Xamarin - Get adapter's filter count

我正在使用一个装有适配器的 listView,它有一个过滤器。 过滤器工作良好,并使用 notifyDataSetChanged 更新 listView。 但是现在我想显示列表视图项目的数量。

我试过了

searchView.QueryTextChange += (sender, e) => {
                _adapter.Filter.InvokeFilter (e.NewText);
                Title = _adapter.Count; // also tryed listView.Count
            };

但它显示的是上次搜索的项目数,而不是当前搜索的项目数。是否有过滤器侦听器以便我可以更新结果?

android - listview filter count

我看到了这个,但是如何在 Xamarin 中实现它?

您的 class 应该实现 IFilterListener。然后将 class 实例添加到 InvokeFilter 方法,从而在过滤器完成时调用接口方法。

class MyClass : Android.Widget.Filter.IFilterListener
{
    ...

        searchView.QueryTextChange += (sender, e) => 
        {
            _adapter.Filter.InvokeFilter(e.NewText, this);
        };

    ...

    public void OnFilterComplete(int count)
    {
        Title = count.ToString();
    } 
}