0

我想制作一个格式如下的 EditText 字段:0000 AA。

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

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

有人出主意吗?

4

1 回答 1

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;
    }
};
于 2013-03-18T11:02:52.530 回答