簡體   English   中英

Android 中的用戶只取一個字符

[英]Take only one character from user in Android

我希望用戶只輸入一個字符。 我想為每個字母制作按鈕,但這沒用。 你能推薦一些東西來解決這個問題嗎? 提前致謝..

您可以使用InputFilter.LengthFilter來限制可以輸入到文本字段中的字符數,並使用自定義InputFilter來限制允許的字符; 這聽起來對我來說是最簡單的方法。

這是一個例子:

EditText myTextField = (EditText) findViewById(R.id.my_text);

InputFilter validCharsInputFilter = new InputFilter() {

        @Override
        public CharSequence filter(CharSequence source, int start, int end,
                Spanned dest, int dstart, int dend) {

            // Loop through characters being inserted
            for (int i = start; i < end; i++) {

                // If it is not a letter 
                if (!Character
                        .isLetter(source.charAt(i))) {

                    // Return empty string - as char not allowed
                    return "";
                }
            }

            // If we've got this far, then return null to accept string
            return null;
        }
    };

myTextField.setFilters(
        new InputFilter[] { new InputFilter.LengthFilter(1), validCharsInputFilter });

您可以在其他解決方案中創建一個字段並將您的事件處理程序設置為一次只接受一個字符。

這非常接近那個問題: Validation on Edit Text

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM