Android編程實(shí)現(xiàn)實(shí)時監(jiān)聽EditText文本輸入的方法
本文實(shí)例講述了Android編程實(shí)現(xiàn)實(shí)時監(jiān)聽EditText文本輸入的方法。分享給大家供大家參考,具體如下:
平時在做Android開發(fā)過程中經(jīng)常要用到EditText,有時候可能需要監(jiān)聽你在TextView中輸入的字?jǐn)?shù)的狀態(tài)和變化,以便于我們能做相應(yīng)的提示和操作。我們可以通過下面的方式來實(shí)現(xiàn)。
class EditChangedListener implements TextWatcher { private CharSequence temp;//監(jiān)聽前的文本 private int editStart;//光標(biāo)開始位置 private int editEnd;//光標(biāo)結(jié)束位置 private final int charMaxNum = 10; @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { if (DEBUG) Log.i(TAG, "輸入文本之前的狀態(tài)"); temp = s; } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { if (DEBUG) Log.i(TAG, "輸入文字中的狀態(tài),count是一次性輸入字符數(shù)"); mTvAvailableCharNum.setText("還能輸入" + (charMaxNum - s.length()) + "字符"); } @Override public void afterTextChanged(Editable s) { if (DEBUG) Log.i(TAG, "輸入文字后的狀態(tài)"); /** 得到光標(biāo)開始和結(jié)束位置 ,超過最大數(shù)后記錄剛超出的數(shù)字索引進(jìn)行控制 */ editStart = mEditTextMsg.getSelectionStart(); editEnd = mEditTextMsg.getSelectionEnd(); if (temp.length() > charMaxNum) { Toast.makeText(getApplicationContext(), "你輸入的字?jǐn)?shù)已經(jīng)超過了限制!", Toast.LENGTH_LONG).show(); s.delete(editStart - 1, editEnd); int tempSelection = editStart; mEditTextMsg.setText(s); mEditTextMsg.setSelection(tempSelection); } } };
加上監(jiān)聽的事件。
mEditTextMsg.addTextChangedListener(new EditChangedListener());
效果圖:
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android控件用法總結(jié)》、《Android開發(fā)入門與進(jìn)階教程》、《Android視圖View技巧總結(jié)》、《Android編程之a(chǎn)ctivity操作技巧總結(jié)》、《Android數(shù)據(jù)庫操作技巧總結(jié)》及《Android資源操作技巧匯總》
希望本文所述對大家Android程序設(shè)計(jì)有所幫助。
- android同時控制EditText輸入字符個數(shù)和禁止特殊字符輸入的方法
- 全面解析Android中對EditText輸入實(shí)現(xiàn)監(jiān)聽的方法
- Android文本輸入框(EditText)輸入密碼時顯示與隱藏
- Android之EditText控制禁止輸入空格和回車
- Android如何禁止向EditText控件中輸入內(nèi)容詳解
- Android UI設(shè)計(jì)系列之自定義EditText實(shí)現(xiàn)帶清除功能的輸入框(3)
- Android輸入框控件ClearEditText實(shí)現(xiàn)清除功能
- Android高級xml布局之輸入框EditText設(shè)計(jì)
- Android EditText限制輸入字?jǐn)?shù)的方法
- Android中多個EditText輸入效果的解決方式
相關(guān)文章
怎樣實(shí)現(xiàn)android http-post方法實(shí)例說明
android http-post方法在開發(fā)中如何實(shí)現(xiàn),具體代碼如下,感興趣的朋友可以參考下哈,希望對大家有所幫助2013-06-06使用Composing?builds提升Android編譯速度
這篇文章主要介紹了使用Composing?builds提升Android編譯速度示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06Android 實(shí)現(xiàn)帶進(jìn)度條的WebView的實(shí)例
這篇文章主要介紹了Android 實(shí)現(xiàn)帶進(jìn)度條的WebView的實(shí)例的相關(guān)資料,這里介紹了Webview加載網(wǎng)頁的方法及帶進(jìn)度的Drawable文件view_progress_webview的實(shí)現(xiàn),需要的朋友可以參考下2017-07-07Android 自定義控件實(shí)現(xiàn)顯示文字的功能
這篇文章主要介紹了Android 自定義控件實(shí)現(xiàn)顯示文字的功能的相關(guān)資料,需要的朋友可以參考下2016-11-11Android實(shí)現(xiàn)Listview異步加載網(wǎng)絡(luò)圖片并動態(tài)更新的方法
這篇文章主要介紹了Android實(shí)現(xiàn)Listview異步加載網(wǎng)絡(luò)圖片并動態(tài)更新的方法,結(jié)合實(shí)例形式詳細(xì)分析了ListView異步加載數(shù)據(jù)的操作步驟與具體實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-08-08基于flutter?sound插件實(shí)現(xiàn)錄音與播放功能
這篇文章主要介紹了基于flutter?sound插件實(shí)現(xiàn)錄音與播放功能,介紹了如何錄音,如何播放本地和遠(yuǎn)程音頻文件,以及如何實(shí)現(xiàn)動畫,在錄制完音頻文件后如何上傳,這些都是我們平常使用這個功能會遇到的問題。在使用的過程中遇到的問題也有列出,需要的朋友可以參考下2022-05-05