Android-EditText禁止輸入空格

圖片來源于網(wǎng)絡(luò)

在日常的開發(fā)當(dāng)中,我們難免要使用EditText控件,那么我們怎么處理讓用戶不在EditText中輸入空格呢?

輸入監(jiān)聽控件

輸入監(jiān)聽事件是我們最輸入的方法之一,直接上代碼。想要使用這種方法的小伙伴,可以直接復(fù)制修改控件ID就可以用。

mEtName?.addTextChangedListener(object : TextWatcher {
            override fun afterTextChanged(p0: Editable?) {
            }

            override fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
            }

            override fun onTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
                // 禁止EditText輸入空格
                if (p0.toString().contains(" ")) {
                    var str = p0?.toString()?.split(" ")
                    var sb = StringBuffer()
                    for (i in 0 until str?.size!!){
                        sb?.append(str[i])
                    }
                    mEtName?.setText(sb.toString())
                    mEtName?.setSelection(p1)
                }
            }
        })

InputFilter實現(xiàn)

除了上面的輸入事件監(jiān)聽,還有這種方法:

/**
* 禁止輸入空格
*/
public class SpaceFilter implements InputFilter {
    @Override
    public SpaceFilter filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
        // 判斷是否是空格
        if (source.equals(" "))
            return "";
        return null;
    }
}

使用方法:

mEtName.setFilters(new InputFilter[]{new SpaceFilter()});
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容