LoadStringEntryLayout() public static method

public static LoadStringEntryLayout ( Android.Content.Context context, Android.Views.View convertView, Android.Views.ViewGroup parent, int layoutId, Android.Widget.TextView &label, EditText &value ) : Android.Views.View
context Android.Content.Context
convertView Android.Views.View
parent Android.Views.ViewGroup
layoutId int
label Android.Widget.TextView
value EditText
return Android.Views.View
Beispiel #1
0
        public override View GetView(Context context, View convertView, ViewGroup parent)
        {
            TextView label;
            var      view = DroidResources.LoadStringEntryLayout(context, convertView, parent, LayoutId, out label, out _entry);

            if (view != null)
            {
                // Warning! Crazy ass hack ahead!
                // since we can't know when out convertedView was was swapped from inside us, we store the
                // old textwatcher in the tag element so it can be removed!!!! (barf, rech, yucky!)
                if (_entry.Tag != null)
                {
                    _entry.RemoveTextChangedListener((ITextWatcher)_entry.Tag);
                }

                _entry.Text = this.Value;
                _entry.Hint = this.Hint;
                //_entry.EditorAction += new EventHandler<TextView.EditorActionEventArgs>(_entry_EditorAction);
                _entry.ImeOptions = ImeAction.Unspecified;

                if (this.Password)
                {
                    _entry.InputType = InputTypes.ClassText | InputTypes.TextVariationPassword;
                }
                else if (this.Numeric)
                {
                    _entry.InputType = InputTypes.ClassNumber | InputTypes.NumberFlagDecimal | InputTypes.NumberFlagSigned;
                }
                else
                {
                    _entry.InputType = InputTypes.ClassText;
                }

                if (Lines > 1)
                {
                    _entry.InputType |= InputTypes.TextFlagMultiLine;
                    _entry.SetLines(Lines);
                }
                else if (Send != null)
                {
                    _entry.ImeOptions = ImeAction.Go;
                    _entry.SetImeActionLabel("Go", ImeAction.Go);
                    _entry.EditorAction += new EventHandler <TextView.EditorActionEventArgs>(_entry_EditorAction);
                }

                // continuation of crazy ass hack, stash away the listener value so we can look it up later
                _entry.Tag = this;
                _entry.AddTextChangedListener(this);
                if (label == null)
                {
                    _entry.Hint = Caption;
                }
                else
                {
                    label.Text = Caption;
                }
            }

            return(view);
        }
Beispiel #2
0
        protected override View GetViewImpl(Context context, View convertView, ViewGroup parent)
        {
            var view = DroidResources.LoadStringEntryLayout(context, convertView, parent, LayoutName);

            if (view != null)
            {
                view.FocusableInTouchMode = false;
                view.Focusable            = false;
                view.Clickable            = false;

                TextView label;
                EditText _entry;
                DroidResources.DecodeStringEntryLayout(context, view, out label, out _entry);

                _entry.FocusableInTouchMode = true;
                _entry.Focusable            = true;
                _entry.Clickable            = true;

                var helper = EntryElementHelper.EnsureTagged(_entry);
                helper.Owner = this;
            }

            return(view);
        }
Beispiel #3
0
        public override View GetView(Context context, View convertView, ViewGroup parent)
        {
            TextView label;
            var      view = DroidResources.LoadStringEntryLayout(context, convertView, parent, LayoutId, out label, out _entry);

            if (view != null)
            {
                view.FocusableInTouchMode = false;
                view.Focusable            = false;
                view.Clickable            = false;

                _entry.FocusableInTouchMode = true;
                _entry.Focusable            = true;
                _entry.Clickable            = true;

                _entry.Text = Value;
                _entry.Hint = Hint;

                _entry.InputType = KeyboardType.InputTypesFromUIKeyboardType();

                if (Password)
                {
                    _entry.InputType |= InputTypes.TextVariationPassword;
                }

                if (Lines > 1)
                {
                    _entry.InputType |= InputTypes.TextFlagMultiLine;
                    _entry.SetLines(Lines);
                }
                else if (Send != null)
                {
                    _entry.ImeOptions = ImeAction.Go;
                    _entry.SetImeActionLabel("Go", ImeAction.Go);
                }
                else
                {
                    _entry.ImeOptions = ReturnKeyType.ImeActionFromUIReturnKeyType();
                }

                if (_entry.Tag == null)
                {
                    _entry.Tag = this;
                    _entry.AddTextChangedListener(this);
                }
                else if (_entry.Tag != this)
                {
                    _entry.RemoveTextChangedListener((ITextWatcher)_entry.Tag);
                    _entry.AddTextChangedListener(this);
                    if (Send != null)
                    {
                        _entry.EditorAction += _entry_EditorAction;
                    }
                }

                _entry.OnFocusChangeListener = this;

                if (label == null)
                {
                    _entry.Hint = Caption;
                }
                else
                {
                    label.Text = Caption;
                }
            }

            return(view);
        }