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 に答える