Example #1
0
        private async void InitTodoView()
        {
            SetContentView(Resource.Layout.ActivityMainTodoList);

            // Set up items
            _itemAdapter = new TodoListAdapter(
                this,
                Resource.Layout.TodoItem,
                (await _clientManager.RefreshList()).Value ?? new List <TodoItem>(),
                _clientManager,
                _clientManager.GetItemsCollection());
            ((ListView)FindViewById(Resource.Id.todoList)).Adapter = _itemAdapter;

            FindViewById(Resource.Id.refresh).Click += async delegate
            {
                await RefreshList();
            };

            FindViewById(Resource.Id.clear).Click += async delegate
            {
                var result = await _clientManager.ClearChecked();

                if (result.IsSuccessful)
                {
                    await RefreshList();
                }
                else
                {
                    Toast.MakeText(this,
                                   Resource.String.error_clearing_checked,
                                   ToastLength.Long).Show();
                }
            };

            FindViewById(Resource.Id.logout).Click += async delegate
            {
                await _clientManager.StitchClient.Logout();

                SetContentView(Resource.Layout.ActivityMain);
            };

            FindViewById(Resource.Id.addItem).Click += delegate
            {
                var diagBuilder = new AlertDialog.Builder(this);

                LayoutInflater inflater = this.LayoutInflater;
                View           view     = inflater.Inflate(Resource.Layout.AddItem, null);
                EditText       text     = (EditText)view.FindViewById(Resource.Id.addItemText);

                diagBuilder.SetView(view);
                diagBuilder.SetPositiveButton(Resource.String.addOk,
                                              async delegate(object sender,
                                                             DialogClickEventArgs e)
                {
                    await _clientManager.AddItem(text.Text);
                    await RefreshList();
                });

                diagBuilder.SetNegativeButton(Resource.String.addCancel,
                                              (sender, e) => {
                    ((AlertDialog)sender).Cancel();
                });

                diagBuilder.SetCancelable(false);
                diagBuilder.Create().Show();
            };
        }