您好,登錄后才能下訂單哦!
本文實例講述了Android編程實現實時監聽EditText文本輸入的方法。分享給大家供大家參考,具體如下:
平時在做Android開發過程中經常要用到EditText,有時候可能需要監聽你在TextView中輸入的字數的狀態和變化,以便于我們能做相應的提示和操作。我們可以通過下面的方式來實現。
class EditChangedListener implements TextWatcher { private CharSequence temp;//監聽前的文本 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, "輸入文本之前的狀態"); temp = s; } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { if (DEBUG) Log.i(TAG, "輸入文字中的狀態,count是一次性輸入字符數"); mTvAvailableCharNum.setText("還能輸入" + (charMaxNum - s.length()) + "字符"); } @Override public void afterTextChanged(Editable s) { if (DEBUG) Log.i(TAG, "輸入文字后的狀態"); /** 得到光標開始和結束位置 ,超過最大數后記錄剛超出的數字索引進行控制 */ editStart = mEditTextMsg.getSelectionStart(); editEnd = mEditTextMsg.getSelectionEnd(); if (temp.length() > charMaxNum) { Toast.makeText(getApplicationContext(), "你輸入的字數已經超過了限制!", Toast.LENGTH_LONG).show(); s.delete(editStart - 1, editEnd); int tempSelection = editStart; mEditTextMsg.setText(s); mEditTextMsg.setSelection(tempSelection); } } };
加上監聽的事件。
mEditTextMsg.addTextChangedListener(new EditChangedListener());
效果圖:
更多關于Android相關內容感興趣的讀者可查看本站專題:《Android控件用法總結》、《Android開發入門與進階教程》、《Android視圖View技巧總結》、《Android編程之activity操作技巧總結》、《Android數據庫操作技巧總結》及《Android資源操作技巧匯總》
希望本文所述對大家Android程序設計有所幫助。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。