使用searchview或edittext的xamarin android listview过滤器

时间:2018-01-26 12:48:23

标签: android xamarin

我已经使用了许多示例来实现listview中的搜索,但它们都不起作用。我有一个来自JSON数组的listview绑定,我想实现一种简单的方法来搜索listview中的项目。我在互联网上找到了一些例子,但它们并不起作用。 我正在使用Xamarin Android。

mainActivity:

> db.col.findOne()
{
    "_id" : ObjectId("5a69aafefe0428ada3c1cb9d"),
    "company_id" : 8,
    "year" : 2017,
    "customer_id" : "1691",
    "department_id" : "11",
    "Stat" : [
        {
            "@value" : 7,
            "@attributes" : {
                "name" : "A"
            }
        },
        {
            "@value" : 3,
            "@attributes" : {
                "name" : "B"
            }
        },
        {
            "@value" : 14,
            "@attributes" : {
                "name" : "C"
            }
        }
    ]
}
> 

customlistadapter类:

   DaftarGaleri = FindViewById<ListView>(Resource.Id.dataList);
        itemGaleri = new List<Galeri>();
        var webClient = new WebClient();
        webClient.DownloadStringAsync(BaseUri);
        progress = FindViewById<ProgressBar>(Resource.Id.progressBar);

        //Showing loading progressbar
        progress.Visibility = ViewStates.Visible;
        webClient.DownloadStringCompleted += WebClient_DownloadStringCompleted;

    }

    private void WebClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
    {
        RunOnUiThread(() =>
        {
            itemGaleri = JsonConvert.DeserializeObject<List<Galeri>>(e.Result);
            CustomListAdapter adapter = new CustomListAdapter(this, itemGaleri);
            DaftarGaleri.Adapter = adapter;
            progress.Visibility = ViewStates.Gone;
            DaftarGaleri.ItemClick += DaftarGaleri_ItemClick;

        }
        );

    }

任何人都可以帮忙..谢谢

1 个答案:

答案 0 :(得分:0)

  

xamarin android listview过滤器使用searchview或edittext

您可以参考Cheesebaron's SearchView-Sample:了解Filter ListView如何使用SearchView和自定义Filter实施。

不要忘记在项目中添加ObjectExtensions类。

其他一些有用的链接: