Страница сведений о главной форме xamarin - исключение null, sqlite - PullRequest
0 голосов
/ 26 апреля 2018

Я новичок в Xamarin. Я хочу добавить боковое меню, поэтому я взял этот код на GitHub и внедрил в свой проект.

У меня есть эта страница AccountsView:

public partial class AccountsView : ContentPage
{ 
    public AccountsView()
    {
        InitializeComponent();

        GetAccountsAsync();
    }
    private async void GetAccountsAsync()
    {
        var accounts = await SQLHelper.Connection.Table<Account>().ToListAsync();

        lvwAccounts.ItemsSource = accounts;
    }

    async void Handle_Clicked(object sender, System.EventArgs e)
    {
        var account = (Account)((Button)sender).BindingContext;
        await Navigation.PushAsync(new AccountDetailsView(account.Id));
    }
} 

Когда я нажимаю на меню, чтобы перейти на эту страницу, я получаю исключение "object reference not set to an instance of an object" и внутреннее исключение:

"at project.Views.AccountsView + d__2.MoveNext () [0x0000f] в /Users/user/Projects/project/project/Views/AccountsView.xaml.cs:24 \ n --- Конец трассировки стека из предыдущее местоположение, где было сгенерировано исключение --- \ n в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] в /Library/Frameworks/Xamarin.iOS.framework/Versions/11.9.1.24/src/Xamarin.iOS/ mcs / class / Referenceource / mscorlib / system / runtime / exceptionservices / exceptionservicescommon.cs: 152 \ n в System.Runtime.CompilerServices.AsyncMethodBuilderCore + <> c.b__6_0 (состояние System.Object) [0x00000] в / Library / Frameworks / Xamar .iOS.framework / Versions / 11.9.1.24 / src / Xamarin.iOS / mcs / class /ferencesource / mscorlib / system / runtime / compilerservices / AsyncMethodBuilder.cs: 1018 \ n в UIKit.UIKitSynchronizationContext + c__AnonStorey0.>. [0x00000] в /Library/Frameworks/Xamarin.iOS.framework/Versions/11.9.1.24/src/Xamarin.iOS/UIKit/UIKitSynchronizationContext.cs:24 \ n в Foundation.NSAsyncActionDispatcher.Apply () [0x00 000] в /Library/Frameworks/Xamarin.iOS.framework/Versions/11.9.1.24/src/Xamarin.iOS/Foundation/NSAction.cs:163 \ n --- Конец трассировки стека из предыдущего местоположения, где было сгенерировано исключение - - \ n в (управляемая оболочкой) UIKit.UIApplication.UIApplicationMain (int, string [], intptr, intptr) \ n в UIKit.UIApplication.Main (аргументы System.String [], субъект System.IntPtr, Делегат System.IntPtr) [0x00005] в /Library/Frameworks/Xamarin.iOS.framework/Versions/11.9.1.24/src/Xamarin.iOS/UIKit/UIApplication.cs:79 \ n в UIKit.UIApplication.Main (система. String [] args, System.String PrincipalClassName, System.String DelegateClassName) [0x00038] в /Library/Frameworks/Xamarin.iOS.framework/Versions/11.9.1.24/src/Xamarin.iOS/UIKit/UIApplication.cs:63 \ n в project.iOS.Application.Main (System.String [] args) [0x00001] в /Users/user/Projects/project/iOS/Main.cs:17 "

Если я удаляю метод GetAccountsAsync() и он вызывает из ctor, все работает нормально, но без данных.

Что-то с вызовом async БД вызывает проблему.

Если я не реализую боковое меню и главную страницу, мой код работает нормально.

Может кто-нибудь помочь мне с этим?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...