Android編程實現(xiàn)實時監(jiān)聽EditText文本輸入的方法
本文實例講述了Android編程實現(xiàn)實時監(jiān)聽EditText文本輸入的方法。分享給大家供大家參考,具體如下:
平時在做Android開發(fā)過程中經(jīng)常要用到EditText,有時候可能需要監(jiān)聽你在TextView中輸入的字數(shù)的狀態(tài)和變化,以便于我們能做相應的提示和操作。我們可以通過下面的方式來實現(xiàn)。
class EditChangedListener implements TextWatcher {
private CharSequence temp;//監(jiān)聽前的文本
private int editStart;//光標開始位置
private int editEnd;//光標結束位置
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)");
/** 得到光標開始和結束位置 ,超過最大數(shù)后記錄剛超出的數(shù)字索引進行控制 */
editStart = mEditTextMsg.getSelectionStart();
editEnd = mEditTextMsg.getSelectionEnd();
if (temp.length() > charMaxNum) {
Toast.makeText(getApplicationContext(), "你輸入的字數(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());
效果圖:

更多關于Android相關內(nèi)容感興趣的讀者可查看本站專題:《Android控件用法總結》、《Android開發(fā)入門與進階教程》、《Android視圖View技巧總結》、《Android編程之a(chǎn)ctivity操作技巧總結》、《Android數(shù)據(jù)庫操作技巧總結》及《Android資源操作技巧匯總》
希望本文所述對大家Android程序設計有所幫助。
- android同時控制EditText輸入字符個數(shù)和禁止特殊字符輸入的方法
- 全面解析Android中對EditText輸入實現(xiàn)監(jiān)聽的方法
- Android文本輸入框(EditText)輸入密碼時顯示與隱藏
- Android之EditText控制禁止輸入空格和回車
- Android如何禁止向EditText控件中輸入內(nèi)容詳解
- Android UI設計系列之自定義EditText實現(xiàn)帶清除功能的輸入框(3)
- Android輸入框控件ClearEditText實現(xiàn)清除功能
- Android高級xml布局之輸入框EditText設計
- Android EditText限制輸入字數(shù)的方法
- Android中多個EditText輸入效果的解決方式
相關文章
Android不規(guī)則封閉區(qū)域填充色彩的實例代碼
這篇文章主要介紹了Android不規(guī)則封閉區(qū)域填充色彩的實例代碼, 具有很好的參考價值,希望對大家有所幫助,一起跟隨小編過來看看吧2018-05-05
Android實戰(zhàn)項目之實現(xiàn)一個簡單計算器
隨著移動互聯(lián)網(wǎng)的普及,手機應用程序已經(jīng)成為人們生活中不可或缺的一部分,計算器是一類被廣泛使用的應用程序之一,這篇文章主要給大家介紹了關于Android實戰(zhàn)項目之實現(xiàn)一個簡單計算器的相關資料,需要的朋友可以參考下2023-10-10
Android中RecyclerView嵌套滑動沖突解決的代碼片段
這篇文章主要為大家詳細介紹了Android中RecyclerView嵌套滑動沖突解決的代碼片段,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-12-12
Android開發(fā)入門之Notification用法分析
這篇文章主要介紹了Android中Notification用法,較為詳細的分析了Notification的功能、使用步驟與相關注意事項,需要的朋友可以參考下2016-07-07
Android百度定位導航之基于百度地圖移動獲取位置和自動定位
項目需求是這樣的,首先定位我當前的起始位置,并跟隨移動不斷自動定位我的當前位置,下面通過本文給大家介紹android百度定位導航之基于百度地圖移動獲取位置和自動定位,需要的朋友參考下2016-01-01
Android實現(xiàn)從底部彈出的Dialog的實例代碼
這篇文章主要介紹了Android實現(xiàn)從底部彈出的Dialog的實例代碼,非常不錯,具有參考借鑒價值 ,需要的朋友可以參考下2018-04-04
Android開發(fā)中總結的Adapter工具類【附完整源碼下載】
這篇文章主要介紹了Android開發(fā)中總結的Adapter工具類,簡單說明了Adapter的功能,并結合實例形式分析了Adapter工具類的相關使用方法,并附帶完整源碼供讀者下載參考,需要的朋友可以參考下2017-11-11

