Android編程實(shí)現(xiàn)實(shí)時(shí)監(jiān)聽(tīng)EditText文本輸入的方法
本文實(shí)例講述了Android編程實(shí)現(xiàn)實(shí)時(shí)監(jiān)聽(tīng)EditText文本輸入的方法。分享給大家供大家參考,具體如下:
平時(shí)在做Android開(kāi)發(fā)過(guò)程中經(jīng)常要用到EditText,有時(shí)候可能需要監(jiān)聽(tīng)你在TextView中輸入的字?jǐn)?shù)的狀態(tài)和變化,以便于我們能做相應(yīng)的提示和操作。我們可以通過(guò)下面的方式來(lái)實(shí)現(xiàn)。
class EditChangedListener implements TextWatcher { private CharSequence temp;//監(jiān)聽(tīng)前的文本 private int editStart;//光標(biāo)開(kāi)始位置 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)開(kāi)始和結(jié)束位置 ,超過(guò)最大數(shù)后記錄剛超出的數(shù)字索引進(jìn)行控制 */ editStart = mEditTextMsg.getSelectionStart(); editEnd = mEditTextMsg.getSelectionEnd(); if (temp.length() > charMaxNum) { Toast.makeText(getApplicationContext(), "你輸入的字?jǐn)?shù)已經(jīng)超過(guò)了限制!", Toast.LENGTH_LONG).show(); s.delete(editStart - 1, editEnd); int tempSelection = editStart; mEditTextMsg.setText(s); mEditTextMsg.setSelection(tempSelection); } } };
加上監(jiān)聽(tīng)的事件。
mEditTextMsg.addTextChangedListener(new EditChangedListener());
效果圖:
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android控件用法總結(jié)》、《Android開(kāi)發(fā)入門(mén)與進(jìn)階教程》、《Android視圖View技巧總結(jié)》、《Android編程之a(chǎn)ctivity操作技巧總結(jié)》、《Android數(shù)據(jù)庫(kù)操作技巧總結(jié)》及《Android資源操作技巧匯總》
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
- android同時(shí)控制EditText輸入字符個(gè)數(shù)和禁止特殊字符輸入的方法
- 全面解析Android中對(duì)EditText輸入實(shí)現(xiàn)監(jiān)聽(tīng)的方法
- Android文本輸入框(EditText)輸入密碼時(shí)顯示與隱藏
- Android之EditText控制禁止輸入空格和回車
- Android如何禁止向EditText控件中輸入內(nèi)容詳解
- Android UI設(shè)計(jì)系列之自定義EditText實(shí)現(xiàn)帶清除功能的輸入框(3)
- Android輸入框控件ClearEditText實(shí)現(xiàn)清除功能
- Android高級(jí)xml布局之輸入框EditText設(shè)計(jì)
- Android EditText限制輸入字?jǐn)?shù)的方法
- Android中多個(gè)EditText輸入效果的解決方式
相關(guān)文章
activity控制對(duì)話框風(fēng)格、顯示大小與位置
對(duì)于對(duì)話框風(fēng)格大家普遍使用PopupWindow,也有許多朋友開(kāi)發(fā)設(shè)計(jì)時(shí)使用的是activity對(duì)話框方式,因此,本文對(duì)如何通過(guò)activity實(shí)現(xiàn)與PopupWindow相同的效果進(jìn)行詳細(xì)介紹,具有很好的參考價(jià)值,需要的朋友一起來(lái)看下吧2016-12-12怎樣實(shí)現(xiàn)android http-post方法實(shí)例說(shuō)明
android http-post方法在開(kāi)發(fā)中如何實(shí)現(xiàn),具體代碼如下,感興趣的朋友可以參考下哈,希望對(duì)大家有所幫助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)頁(yè)的方法及帶進(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ò)圖片并動(dòng)態(tài)更新的方法
這篇文章主要介紹了Android實(shí)現(xiàn)Listview異步加載網(wǎng)絡(luò)圖片并動(dòng)態(tài)更新的方法,結(jié)合實(shí)例形式詳細(xì)分析了ListView異步加載數(shù)據(jù)的操作步驟與具體實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-08-08Android中多個(gè)EditText輸入效果的解決方式
這篇文章主要給大家介紹了關(guān)于Android中多個(gè)EditText輸入效果的解決方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01基于flutter?sound插件實(shí)現(xiàn)錄音與播放功能
這篇文章主要介紹了基于flutter?sound插件實(shí)現(xiàn)錄音與播放功能,介紹了如何錄音,如何播放本地和遠(yuǎn)程音頻文件,以及如何實(shí)現(xiàn)動(dòng)畫(huà),在錄制完音頻文件后如何上傳,這些都是我們平常使用這個(gè)功能會(huì)遇到的問(wèn)題。在使用的過(guò)程中遇到的問(wèn)題也有列出,需要的朋友可以參考下2022-05-05