下拉数据库搜索过滤器不使用的值

时间:2018-03-30 12:18:39

标签: c# xamarin

我正在使用C#Xamarin和azure数据库。

我正在尝试仅根据我的微调器/下拉菜单中的输出显示输出。

我遵循xamarin文档,了解如何在微调器中输出吐司并显示所有事件。他们当时没有联系。

然后我只根据下拉框中的输出(下面的代码)输出事件,但是说未使用的值,我看不出错误的位置。

eItemsSP未使用。每当我运行应用程序并打开页面时,它都会崩溃,并给出一个空例外。

感谢任何帮助!

编辑1:我将第二行更改为此

private List<EventsDB> eItemsSP = new List<EventsDB>();

它不再崩溃,我可以使用下拉框但不显示任何内容。

    private List<EventsDB> eItems;
    private List<EventsDB> eItemsSP;
    private ListView eListView;

    protected async override void OnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);

        ISharedPreferences pref = Application.Context.GetSharedPreferences("UserInfo", FileCreationMode.Private);

        SetContentView(Resource.Layout.Search_Event);
        eListView = FindViewById<ListView>(Resource.Id.myListView);

        #region setUpDropdowns
        Spinner spinner = FindViewById<Spinner>(Resource.Id.spnSearchEvents);

        spinner.ItemSelected += new EventHandler<AdapterView.ItemSelectedEventArgs>(spinner_ItemSelected);
        var adapter = ArrayAdapter.CreateFromResource(
                this, Resource.Array.professions, Android.Resource.Layout.SimpleSpinnerItem);

        adapter.SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerDropDownItem);
        spinner.Adapter = adapter;
        #endregion


    }
    private async void spinner_ItemSelected(object sender, AdapterView.ItemSelectedEventArgs e)
    {
        Spinner spinner = (Spinner)sender;
        string spnCat = string.Format("{0}", spinner.GetItemAtPosition(e.Position));
        eItems = await Client.GetTable<EventsDB>().ToListAsync();
        EventsDB eItemsSP = eItems.FirstOrDefault(x => x.Category == spnCat);

        ListViewAdapter adapterLV = new ListViewAdapter(this, this.eItemsSP);

        eListView.Adapter = adapterLV;

        //Toast.MakeText(this, spnCat, ToastLength.Long).Show();
    }

0 个答案:

没有答案