protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); Xamarin.Essentials.Platform.Init(this, savedInstanceState); SetContentView(Resource.Layout.activity_main); Android.Support.V7.Widget.Toolbar toolbar = FindViewById <Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar); SetSupportActionBar(toolbar); //Создаем адаптер для отображения var lvTasks = FindViewById <ListView>(Resource.Id.lvTasks); tasklist = new TaskListAdapter(this, UpdateTasks(true)); lvTasks.Adapter = tasklist; // Initialize the "storage" Storage.Instance.Init(); FloatingActionButton fab = FindViewById <FloatingActionButton>(Resource.Id.fab); fab.Click += FabOnClick; FloatingActionButton fabNext = FindViewById <FloatingActionButton>(Resource.Id.fabNextPage); FloatingActionButton fabPrev = FindViewById <FloatingActionButton>(Resource.Id.fabPrevPage); fabNext.Click += FabNext_Click; fabPrev.Click += FabPrev_Click; fabPrev.Visibility = ViewStates.Invisible; RadioButton rb = FindViewById <RadioButton>(Resource.Id.rbSortId); rb.Click += Rb_Click; rb = FindViewById <RadioButton>(Resource.Id.rbSortUsename); rb.Click += Rb_Click; rb = FindViewById <RadioButton>(Resource.Id.rbSortEmail); rb.Click += Rb_Click; rb = FindViewById <RadioButton>(Resource.Id.rbSortStatus); rb.Click += Rb_Click; lvTasks.ItemClick += LvTasks_Click; // Instance dialogs and set actions when hiding dialogs authDialog = new AuthDialog(this); authDialog.OnHide(() => { // When hiding the authorization dialog, we check whether it has been completed. And if so, change the menu items if (!string.IsNullOrEmpty(Storage.Instance.GetToken())) { mnuAuth.SetVisible(false); mnuLogoff.SetVisible(true); } }); taskEditDialog = new TaskEditDialog(this); taskEditDialog.OnHide((modified) => { // When hiding the dialog, we update the task list data if there are changes. if (modified) { if (taskEditDialog.IsNewItem) // If we created a new task, then reload the data with the current sorting parameters. { tasklist.ListSource = UpdateTasks(false) ?? tasklist.ListSource; } tasklist.NotifyDataSetChanged(); } }); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); Xamarin.Essentials.Platform.Init(this, savedInstanceState); SetContentView(Resource.Layout.activity_main); Android.Support.V7.Widget.Toolbar toolbar = FindViewById <Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar); SetSupportActionBar(toolbar); //Создаем адаптер для отображения var lvTasks = FindViewById <ListView>(Resource.Id.lvTasks); tasklist = new TaskListAdapter(this, UpdateTasks(true)); lvTasks.Adapter = tasklist; //Инициализируем "хранилище" Storage.Instance.Init(); //Вешаем обработчики событий FloatingActionButton fab = FindViewById <FloatingActionButton>(Resource.Id.fab); fab.Click += FabOnClick; FloatingActionButton fabNext = FindViewById <FloatingActionButton>(Resource.Id.fabNextPage); FloatingActionButton fabPrev = FindViewById <FloatingActionButton>(Resource.Id.fabPrevPage); fabNext.Click += FabNext_Click; fabPrev.Click += FabPrev_Click; fabPrev.Visibility = ViewStates.Invisible; //Скрываем кнопку предидущей страницы, т.к. стартуем на первой странице. RadioButton rb = FindViewById <RadioButton>(Resource.Id.rbSortId); rb.Click += Rb_Click; rb = FindViewById <RadioButton>(Resource.Id.rbSortUsename); rb.Click += Rb_Click; rb = FindViewById <RadioButton>(Resource.Id.rbSortEmail); rb.Click += Rb_Click; rb = FindViewById <RadioButton>(Resource.Id.rbSortStatus); rb.Click += Rb_Click; lvTasks.ItemClick += LvTasks_Click; //Инстансим диалоги и задаем действия при скрытии диалогов authDialog = new AuthDialog(this); authDialog.OnHide(() => { //При скрытии диалога авторизации проверяем была ли она выполнена. И если да, то меняем пункты меню if (!string.IsNullOrEmpty(Storage.Instance.GetToken())) { mnuAuth.SetVisible(false); mnuLogoff.SetVisible(true); } }); taskEditDialog = new TaskEditDialog(this); taskEditDialog.OnHide((modified) => { //При скрытии диалога выполняем обновление данных списка задач в случае наличия изменений. if (modified) { if (taskEditDialog.IsNewItem) //Если создали новую задачу, тогда перезагружаем данные с текущими параметрами сортировки. { tasklist.ListSource = UpdateTasks(false) ?? tasklist.ListSource; } tasklist.NotifyDataSetChanged(); } }); }