我正在使用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();
}