EditText输入格式

时间:2013-03-18 09:32:37

标签: c# xamarin

我想创建一个EditText字段,格式如下:0000 AA。

是否可以让数字键盘出现在前4个数字然后自动创建一个空格然后出现普通键盘?

我怎样才能用C#做到这一点?

有人有想法吗?

1 个答案:

答案 0 :(得分:2)

这应该可以解决问题:

EditText zipcode = FindViewById<EditText>(Resource.Id.zipcode);
zipcode.InputType = Android.Text.InputTypes.ClassNumber;
bool numberMode = true;
zipcode.TextChanged += (object sender, Android.Text.TextChangedEventArgs e) => {
    if(zipcode.Text.Length == 4){
        if(numberMode){
            numberMode = false;
            zipcode.Text = zipcode.Text + " ";
            zipcode.SetSelection(zipcode.Text.Length);
        }
    }

    if(zipcode.Text.Length > 4){
        numberMode = false;
        zipcode.InputType = Android.Text.InputTypes.ClassText;
    }

    if(zipcode.Text.Length <= 4){
        numberMode = true;
        zipcode.InputType = Android.Text.InputTypes.ClassNumber;
    }
};