protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            // Create your application here
            SetContentView(Resource.Layout.DeviceSetting);

            string devicename = Intent.GetStringExtra("device_name");

            devicevalue    = Intent.GetIntExtra("device_value", 0);
            value_delay    = Intent.GetIntExtra("value_delay", 0);
            houseid        = Intent.GetStringExtra("house_id");
            original_value = Intent.GetIntExtra("original_value", 0);
            int iconid = Intent.GetIntExtra("icon_id", 0);

            var tbdevicevalue = FindViewById <TextView>(Resource.Id.textViewDeviceWatt);
            var ivicon        = FindViewById <ImageView>(Resource.Id.imageView1);

            etdevicename = FindViewById <EditText>(Resource.Id.textInputEditText1);
            var toolbar      = FindViewById <Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar1);
            var numberpicker = FindViewById <NumberPicker>(Resource.Id.numberPickerValueDelay);

            btediticon = FindViewById <Button>(Resource.Id.buttonediticon);
            var layouticons      = FindViewById <LinearLayout>(Resource.Id.linearLayoutIcons);
            var layoutallcontent = FindViewById <LinearLayout>(Resource.Id.linearLayoutallcontent);
            var scrollview       = FindViewById <ScrollView>(Resource.Id.scrollView1);

            toolbar.SetTitleTextAppearance(this, Resource.Style.ActionBarTitle);
            SetSupportActionBar(toolbar);
            SupportActionBar.SetTitle(Resource.String.toolbar_devicesettings);
            SupportActionBar.SetDisplayHomeAsUpEnabled(true);
            SupportActionBar.SetHomeButtonEnabled(true);

            ivicon.SetImageResource(iconid);
            etdevicename.Hint = devicename;
            etdevicename.Text = devicename;

            numberpicker.MinValue = 0;
            numberpicker.MaxValue = 1000;
            numberpicker.Value    = value_delay;


            etdevicename.Selected  = false;
            etdevicename.Click    += delegate { etdevicename.SetCursorVisible(true); };
            etdevicename.KeyPress += (s, e) =>
            {
                if (e.KeyCode == Keycode.Enter)
                {
                    InputMethodManager imm = (InputMethodManager)GetSystemService(Context.InputMethodService);
                    imm.HideSoftInputFromWindow(etdevicename.WindowToken, 0);
                    etdevicename.SetCursorVisible(false);
                }
                else
                {
                    e.Handled = false;
                }
            };

            tbdevicevalue.Text = devicevalue.ToString();

            mRecyclerView  = FindViewById <RecyclerView>(Resource.Id.recyclerView);
            mLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.Horizontal, false);
            IconList icons = new IconList();

            mAdapter = new MyIconListAdapter(icons);
            mRecyclerView.SetLayoutManager(mLayoutManager);

            saveicon_id = iconid;

            mAdapter.ItemClick += (sender, position) =>
            {
                ivicon.SetImageResource(icons.Iconids[position]);
                saveicon_id = icons.Iconids[position];
            };

            numberpicker.ValueChanged += delegate
            {
                value_delay = numberpicker.Value;
            };

            var buttonin = Android.Views.Animations.AnimationUtils.LoadAnimation(this, Resource.Animation.abc_fade_in);
            var expanded = false;

            btediticon.Click += delegate
            {
                btediticon.StartAnimation(buttonin);
                if (!expanded)
                {
                    layouticons.LayoutParameters.Height = (int)Android.Util.TypedValue.ApplyDimension(Android.Util.ComplexUnitType.Dip, 60, Resources.DisplayMetrics);
                    mRecyclerView.SetAdapter(mAdapter);
                    expanded = true;
                }
                else
                {
                    layouticons.LayoutParameters.Height = (int)Android.Util.TypedValue.ApplyDimension(Android.Util.ComplexUnitType.Dip, 1, Resources.DisplayMetrics);
                    mRecyclerView.SetAdapter(null);
                    expanded = false;
                }
            };

            layoutallcontent.Click += delegate
            {
                layouticons.LayoutParameters.Height = (int)Android.Util.TypedValue.ApplyDimension(Android.Util.ComplexUnitType.Dip, 1, Resources.DisplayMetrics);
                mRecyclerView.SetAdapter(null);
                expanded = false;
                InputMethodManager imm = (InputMethodManager)GetSystemService(Context.InputMethodService);
                imm.HideSoftInputFromWindow(etdevicename.WindowToken, 0);
                etdevicename.SetCursorVisible(false);
            };
        }
 public MyIconListAdapter(IconList icons)
 {
     this.icons = icons;
 }