android edittext InputFilter 輸入控制
InputFilter 可能需要對使用者的輸入進行一些限制,可以為EditText
Widget設定一個InputFilter以實現這一功能
如:
/*
* 使用輸入過濾器約束使用者輸入
* (只能輸入兩個大寫字母)
* setFilters方法需要呼叫一個InputFilter物件陣列。
* 本例中將所有輸入的小寫字母自動轉換為大寫字母,而且被限定在
* 兩個字元
*/
final EditText text_f = (EditText)findViewById(R.id.editText01);
text_f.setFilters(new InputFilter[]{
new InputFilter.AllCaps(),
new InputFilter.LengthFilter(2)
});
下例 小數點後兩位
private void initEt() {
tv1=(EditText) findViewById(R.id.et1);
tv2=(EditText) findViewById(R.id.et2);
tv1.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
tv2.setTransformationMethod(PasswordTransformationMethod.getInstance());
String s="adb";
tv1.setTextKeepState(s);
tv2.setText(s);
tv1.setFilters(new InputFilter[] { lengthfilter });
}
// 設定小數位數控制
InputFilter lengthfilter = new InputFilter() {
public CharSequence filter(CharSequence source, int start, int end,
Spanned dest, int dstart, int dend) {
System.out.println(source.toString()+"-->"+start+"-->"+end);
System.out.println(dest.toString()+"-->"+dstart+"-->"+dend);
// 刪除等特殊字元,直接返回
if ("".equals(source.toString())) {
return null;
}
String dValue = dest.toString();
String[] splitArray = dValue.split("\\.");
if (splitArray.length > 1) {
String dotValue = splitArray[1];
int diff = dotValue.length() + 1 - 2;
if (diff > 0) {
CharSequence c=source.subSequence(start, end - diff);
System.out.println(c.toString());
return c;
}
}
return null;
}
};
相關文章
- android:edittext 輸入問題Android
- Android基礎 Android EditText禁止輸入空格Android
- Android入門教程 | EditText 使用者輸入Android
- Android多個EditText輸入效果解決方案Android
- android:EditText控制元件Android控制元件
- EditText輸入金額型別型別
- Android TextWatcher監控EditText中的輸入內容並限制其輸入字元個數Android字元
- [Android] EditText設定只能輸入2位小數的探討Android
- EditText中輸入資訊的限制的方法
- imemode 控制輸入法,控制輸入框的輸入法
- Android中EditText隱藏/自動彈出輸入法的問題Android
- Android UI 設計(4):EditText 控制元件AndroidUI控制元件
- app直播原始碼,監聽EditText輸入框內輸入內容的變化APP原始碼
- Android EditText輸入框實現下拉且儲存最近5個歷史記錄Android
- 短視訊直播原始碼,EditText輸入框的使用原始碼
- 影片直播系統原始碼,EditText輸入框的使用原始碼
- EditText輸入框自動頂上去2種解決方案
- EditText監聽方法,實時的判斷輸入多少字元字元
- Adroid edittext 輸入小數時只能輸入到小數點後的固定位數
- 影片直播app原始碼,自定義View 線型EditText輸入框APP原始碼View
- android EditText 回車事件Android事件
- Android:EditText 多行顯示Android
- Android EditText 屬性彙總Android
- Android開發EditText屬性Android
- 【Android】Android輸入子系統Android
- 在 Vue 中控制表單輸入Vue
- 控制input輸入框游標的位置
- JS數量輸入控制元件JS控制元件
- Android UI系列-----EditText和AutoCompleteTextViewAndroidUITextView
- Android EditText 修改提示字型的大小Android
- Android輸入事件詳解Android事件
- python怎樣從控制檯輸入Python
- JS控制input僅能輸入數字JS
- js控制只允許輸入數字JS
- vue 輸入框輸入4位一空格,控制16位有效字元Vue字元
- Android高仿微信表情輸入與鍵盤輸入詳解Android
- android更改EditText下劃線顏色Android
- Android 輸入系統介紹Android