Xamarin android 格式化字符串 onkey 按下

Xamarin android format string onkey pressed

我有这个 EditText,我希望用户在其中键入信用卡号,所以我想在用户键入时格式化字符串,我特别希望字符串每个都有一个 space 4 个数字,如下所示:

xxxx xxxx xxxx xxxx

我发现我可以使用 TextWatcher 和 onKeyUp,但我不明白如何在 EditText 中使用它,如果有人能向我解释,我将不胜感激,谢谢。

创建一个实现 ITextWatcher 接口的 class。然后添加一个 class 的实例作为文本更改的侦听器...

public class CreditCardFormatter : Java.Lang.Object, ITextWatcher
{
    private EditText _editText;
    public CreditCardFormatter(EditText editText)
    {
     _editText = editText;
    }

    public void AfterTextChanged(IEditable s)
    {
    }

    public void BeforeTextChanged(ICharSequence s, int start, int count, int after)
    {
    }

    public void OnTextChanged(ICharSequence s, int start, int before, int count)
    {
    }
}

在您的activity..(或OnCreateView片段中)

public override void OnCreate()
{
    // other code..
    myEditText.AddTextChangedListener(new CreditCardFormatter(myEditText));
}

然后使用覆盖方法重新格式化文本以显示您需要的内容。