예제 #1
0
        public async void Load()
        {
            LoadingDialog builder = new LoadingDialog(this).SetMessage("Загрузка...");

            Android.App.AlertDialog dialog = builder.Create();
            dialog.Show();

            string response = await Connector.GetAsync("phrase.set") ?? "{}";

            var data = JObject.Parse(response);

            if (data?["status"] == null)
            {
                Toast.MakeText(this, "Произошла ошибка :(", ToastLength.Short).Show();
                dialog.Dismiss();
                Finish();
                return;
            }

            Phrases = new List <Phrase>();
            foreach (var item in (JArray)data["result"])
            {
                Phrase ph = new Phrase {
                    Id   = Convert.ToInt32(item["id"]),
                    Text = Convert.ToString(item["text"])
                };
                Phrases.Add(ph);
            }

            BuildElements();
            dialog.Dismiss();
        }
예제 #2
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            LinearLayout main = new LinearLayout(this);

            main.Orientation = Orientation.Vertical;
            main.SetGravity(GravityFlags.Top);
            SetContentView(main);

            EditText editor = new EditText(this);

            editor.SetHeight(Screen.Height / 4);
            editor.Gravity = GravityFlags.Left | GravityFlags.Top;
            main.AddView(editor);


            Button send = new Button(this);

            send.Text   = "Отправить комментарий";
            send.Click += async delegate {
                if (String.IsNullOrWhiteSpace(editor.Text))
                {
                    return;
                }

                InputMethodManager inputManager = (InputMethodManager)GetSystemService(Activity.InputMethodService);
                inputManager.HideSoftInputFromWindow(editor.WindowToken, 0);


                var data = new NameValueCollection();
                data.Add("name", Options.ClientName);
                data.Add("comment", editor.Text);

                LoadingDialog           builder = new LoadingDialog(this).SetMessage("Отправка...");
                Android.App.AlertDialog dialog  = builder.Create();
                dialog.Show();

                string responce = await Connector.PostAsync("comment.add", data) ?? "{}";

                bool added = JObject.Parse(responce)?["status"] != null;
                if (added)
                {
                    Snackbar bar = Snackbar.Make(send, "Комментарий отправлен :)", Snackbar.LengthShort);
                    bar.Show();
                    editor.Text = "";
                }
                else
                {
                    Snackbar.Make(send, "Произошла ошибка :(", Snackbar.LengthIndefinite)
                    .SetAction("Ok", delegate { })
                    .Show();
                }
                dialog.Dismiss();
            };
            main.AddView(send);
        }