監聽EditText輸入的長度,控制合法數據錄入 package com.gx_school.model; import android.content.Context; import android.text.Editable; import android.text.TextWatcher; import android.widget.EditText; public class EditTextWatcher{ private Context mContext; public EditTextWatcher(Context context){ mContext = context; } /** * 限制輸入小數點后兩位 * @param editText */ public void setPricePoint(final EditText editText) { editText.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { if (s.toString().contains(".")) { if (s.length() - 1 - s.toString().indexOf(".") > 2) { s = s.toString().subSequence(0, s.toString().indexOf(".") + 3); editText.setText(s); editText.setSelection(s.length()); } } if (s.toString().trim().substring(0).equals(".")) { s = "0" + s; editText.setText(s); editText.setSelection(2); } if (s.toString().startsWith("0") && s.toString().trim().length() > 1) { if (!s.toString().substring(1, 2).equals(".")) { editText.setText(s.subSequence(0, 1)); editText.setSelection(1); return; } } } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub } }); } /** * 限制輸入的長度 * @param editText * @param len */ public void setEditLength(final EditText editText, final int len) { editText.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { if(s.toString().length() > len){ String str = s.toString().subSequence(0, len).toString(); editText.setText(str); editText.setSelection(str.length()); } } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub } }); } } 使用方法 private EditText edtTransFee; edtTransFee = (EditText) findViewById(R.id.tv_arriver_trans_fee); new EditTextWatcher(this).setPricePoint(edtTransFee);
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。