中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

EditText的輸入內容如何按條件自動格式化

發布時間:2024-08-20 17:39:21 來源:億速云 閱讀:80 作者:小樊 欄目:移動開發

要實現EditText的輸入內容按條件自動格式化,可以使用TextWatcher監聽EditText的輸入變化,根據設定的條件在合適的時機對輸入內容進行格式化。

以下是一個示例代碼,演示如何對用戶輸入的手機號進行自動格式化:

// 創建一個TextWatcher監聽EditText的輸入變化
TextWatcher phoneTextWatcher = new TextWatcher() {
    private boolean isFormatting;
    private boolean deletingHyphen;
    private int hyphenStart;
    
    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        if (isFormatting) return;
        if (after > 0 && s.charAt(start) == '-') {
            deletingHyphen = true;
            hyphenStart = start;
        } else {
            deletingHyphen = false;
        }
    }
    
    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {
        if (isFormatting) return;
        int phoneLength = s.length();
        
        // 如果用戶正在刪除"-",不做任何格式化
        if (deletingHyphen) return;
        
        // 格式化手機號,例如:123-456-7890
        if (phoneLength == 3 || phoneLength == 7) {
            isFormatting = true;
            editText.setText(new StringBuilder(s).insert(phoneLength, "-").toString());
            editText.setSelection(editText.getText().length());
            isFormatting = false;
        }
    }
    
    @Override
    public void afterTextChanged(Editable s) {}
};

// 將TextWatcher設置給EditText
editText.addTextChangedListener(phoneTextWatcher);

在這個示例中,我們在用戶輸入手機號時,根據條件在合適的時機自動加入"-"來格式化手機號。通過TextWatcher可以靈活控制輸入內容的格式化,根據不同的需求實現自動格式化邏輯。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

蓬安县| 兴文县| 铁力市| 肇源县| 库车县| 湟源县| 寿宁县| 乐亭县| 濮阳市| 五大连池市| 洞头县| 红桥区| 汉中市| 江川县| 滦南县| 遵化市| 环江| 临夏市| 潼关县| 冀州市| 邳州市| 东海县| 嘉兴市| 麟游县| 万盛区| 鄢陵县| 芜湖市| 乐亭县| 天全县| 金川县| 天峻县| 常熟市| 上犹县| 白玉县| 铁岭县| 炉霍县| 汉阴县| 佛坪县| 旅游| 丰县| 淳化县|