Android中限制edittext
时间: 2023-11-02 20:16:20 浏览: 91
有多种方法可以限制 Android 中的 EditText,以下是一些常用的方法:
1. 使用 InputFilter:通过设置 InputFilter 可以限制 EditText 的输入内容。例如,可以设置一个只允许输入数字和小数点的 InputFilter:
```
InputFilter filter = new InputFilter() {
public CharSequence filter(CharSequence source, int start, int end,
Spanned dest, int dstart, int dend) {
for (int i = start; i < end; i++) {
if (!Character.isDigit(source.charAt(i)) && source.charAt(i) != '.') {
return "";
}
}
return null;
}
};
editText.setFilters(new InputFilter[] { filter });
```
2. 使用 TextWatcher:通过设置 TextWatcher 可以监听 EditText 的输入内容,并在输入内容发生变化时进行限制。例如,可以设置一个只允许输入 10 个字符的 TextWatcher:
```
TextWatcher watcher = new TextWatcher() {
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (s.length() > 10) {
editText.setText(s.subSequence(0, 10));
editText.setSelection(10);
}
}
public void afterTextChanged(Editable s) {
}
};
editText.addTextChangedListener(watcher);
```
3. 使用 XML 属性:在布局文件中设置 EditText 的 maxLength 属性可以限制 EditText 的最大长度。例如:
```
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLength="10" />
```
以上是一些常用的限制 EditText 的方法,根据需求可以选择适合的方法进行限制。
阅读全文