예제 #1
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);

            // メイン画面からそれぞれのボタンを取得します。
            _SpinnerUserLists = FindViewById <Spinner>(Resource.Id.spinnerUserLists);
            _TimeStamp        = FindViewById <Button>(Resource.Id.buttonStamp);
            _ToggleAttendance = FindViewById <ToggleButton>(Resource.Id.toggleAttendance);
            _ToConfig         = FindViewById <Button>(Resource.Id.buttonToConfig);

            // コンフィグファイルを読み取ります。
            _EntityConfig = _ConfigLocalStorage.Read();

            // ユーザーリスト取得インスタンスです。
            try
            {
                _UserList = new DAO.CsvToUserList(_EntityConfig);

                // 取得したユーザーリストをユーザーセレクトボックスに設定します。
                ArrayAdapter <string> adapter = new ArrayAdapter <string>(this, Android.Resource.Layout.SimpleSpinnerItem, _UserList.GetUserLists());
                adapter.SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerDropDownItem);
                _SpinnerUserLists.Adapter = adapter;
            }
            catch (SmbException e)
            {
                _TimeStamp.Enabled = false;

                Utility.LocalIPAddress LocalIPAddress = new Utility.LocalIPAddress();

                System.Collections.Generic.List <System.Net.IPAddress> localadr = LocalIPAddress.GetLocalIPAddress();
                string localIP = localadr[0].ToString();
                Toast.MakeText(this, localIP, ToastLength.Long).Show();
                //Toast.MakeText(this, "サーバー接続エラーが発生しました。\n エラー内容:" + e, ToastLength.Long).Show();

                var dlg = new AlertDialog.Builder(this);
                dlg.SetTitle("エラー");
                dlg.SetMessage("サーバー接続エラーが発生しました。\n エラー内容:" + e.StackTrace.ToString());

                dlg.SetPositiveButton( //OKボタンの処理
                    "OK", (s, a) => Toast.MakeText(this, "OK", ToastLength.Short).Show());
                dlg.SetNegativeButton( //Cancelボタンの処理
                    "Cancel", (s, a) => Toast.MakeText(this, "Cancel", ToastLength.Short).Show());
                dlg.Create().Show();
            }



            // 打刻ボタンクリック時の挙動です。
            _TimeStamp.Click += delegate
            {
                TimeStamp_onClick();
            };

            _ToConfig.Click += delegate
            {
                ToConfig_onClick();
            };
        }