如何从azure数据库填充列表视图

时间:2018-03-28 11:31:00

标签: c# azure xamarin

我正在尝试使用我的azure表中的所有内容填充listview,但无法弄清楚如何。

我的应用程序因此错误而崩溃:

System.NullReferenceException:对象引用未设置为对象的实例。

我正在尝试做的是,显示表格中的所有内容并将其删除,类似于已注释掉的内容,即硬编码部分。

这是我正在尝试添加的页面页面。但我认为我的主要问题是从数据库中获取列表以便使用。

public class SearchEvent : Activity
{
    public static MobileServiceClient Client =
    new MobileServiceClient("https://app.azurewebsites.net");

    private List<EventsDB> eItems;
    private ListView eListView;

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

        ISharedPreferences login = Application.Context.GetSharedPreferences("Login", FileCreationMode.Private);

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

        List<EventsDB> eItems = await Client.GetTable<EventsDB>().ToListAsync();

        //eItems = new List<EventsDB>();
        //eItems.Add(new EventsDB() { EventName = allEvents , Location = "Laois", Date = "28/03/18", Category = "Computing", Description = "This is a test" });
        //eItems.Add(new EventsDB() { EventName = "Another", Location = "Carlow", Date = "29/03/18", Category = "Music", Description = "This is another test" });

        ListViewAdapter adapter = new ListViewAdapter(this, this.eItems);

        eListView.Adapter = adapter;
    }
}

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

解决了这个问题,所以如果有其他人遇到同样的问题,我所做的就改变了这个:

<List<EventsDB> eItems = await Client.GetTable<EventsDB>().ToListAsysnc();

要:

eItems = await Client.GetTable<EventsDB>().ToListAsysnc();

它运作良好。