Исключение типа “System.NullReferenceException” возникло в bluettoh_ver1.DLL, но не было обработано в коде пользователя

266
07 мая 2017, 22:56

разрабатываю приложение на xamarin,под windows phone 8.1 после компиляции вылетает с ошибкой

  • $exception {System.NullReferenceException: Object reference not set to an instance of an object. at bluettoh_ver1.App.OnClickStart(Object sender, EventArgs e) at Xamarin.Forms.Button.Xamarin.Forms.IButtonController.SendClicked() at Xamarin.Forms.Platform.WinRT.ButtonRenderer.OnButtonClick(Object sender, RoutedEventArgs e)} System.Exception {System.NullReferenceException}

ругается на

private void OnClickStart(object sender, EventArgs e) 
{ 
devices.Clear(); 
seeker.StartSearch(); 
}

целиком весь код

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using Xamarin.Forms;
namespace bluettoh_ver1
{
    public class App : Application
    {
        StackLayout layout;
        bool toStart;
        Button buttonStart;
        Button buttonStop;
        ObservableCollection<Info> devices = new ObservableCollection<Info>();
        ISearch seeker;
        public App()
        {
            seeker = DependencyService.Get<ISearch>();
            buttonStart = new Button()
            {
                Text = "Search"
            };
            buttonStop = new Button()
            {
                Text = "Stop",
            };
            buttonStart.Clicked += OnClickStart;
            buttonStop.Clicked += OnClickStop;
            ListView listView = new ListView
            {
                ItemsSource = devices,
                ItemTemplate = new DataTemplate(() =>
                {
                    Label nameLabel = new Label();
                    nameLabel.SetBinding(Label.TextProperty, "Name");
                    Label macLabel = new Label();
                    macLabel.SetBinding(Label.TextProperty, "Mac");
                    return new ViewCell
                    {
                        View = new StackLayout
                        {
                            Orientation = StackOrientation.Horizontal,
                            VerticalOptions = LayoutOptions.CenterAndExpand,
                            Children = { nameLabel, macLabel }
                        }
                    };
                })
            };
            layout = new StackLayout
            {
                Children = { buttonStart, buttonStop, listView }
            };
            ContentPage content = new ContentPage
            {
                Title = "Bluetooth Scanner",
                Content = layout
            };
            MainPage = new NavigationPage(content);
        }

        private void OnClickStop(object sender, EventArgs e)
        {
            seeker.StopSearch();
        }
        private void OnClickStart(object sender, EventArgs e)
        {
            devices.Clear();
            seeker.StartSearch();

        }

        public void AddDevice(Info device)
        {
            devices.Add(device);
        }
    }
}
READ ALSO
UNET: Синхронизированная переменная

UNET: Синхронизированная переменная

Доброго времени сутокМне понадобилось реализовать, чтобы после нажатия кнопки на сервере менялась буловая переменная Status[n], которая показывает...

204
Загрузка обложки музыки из интернета в плеер

Загрузка обложки музыки из интернета в плеер

Добавляю композиции в listBox и воспроизвожу благодаря функциям WindowsMediaPlayer, хотя он скрыт и вместо него визуально используются другие компонентыНужно...

197
Linq inner join для списка в списке

Linq inner join для списка в списке

У меня есть такие классы модели:

254
Как перевести массив байт обратно в строку

Как перевести массив байт обратно в строку

Есть метод, который переводит строку в массив байт:

238