android maxlength 代码设置,如何在代码中获取EditText maxLength设置
如何完成 h2>
在相關的實用程序類中聲明一個靜態方法,接受TextView并返回一個int。
迭代TextView上設置的每個InputFilter,找到一個屬于InputFilter.LengthFilter實施的文件。
使用Reflection訪問,獲取并返回mMax字段的值。
這會給你這樣的東西:
import java.lang.reflect.Field;
// [...]
public static int getMaxLengthForTextView(TextView textView)
{
int maxLength = -1;
for (InputFilter filter : textView.getFilters()) {
if (filter instanceof InputFilter.LengthFilter) {
try {
Field maxLengthField = filter.getClass().getDeclaredField("mMax");
maxLengthField.setAccessible(true);
if (maxLengthField.isAccessible()) {
maxLength = maxLengthField.getInt(filter);
}
} catch (IllegalAccessException e) {
Log.w(filter.getClass().getName(), e);
} catch (IllegalArgumentException e) {
Log.w(filter.getClass().getName(), e);
} catch (NoSuchFieldException e) {
Log.w(filter.getClass().getName(), e);
} // if an Exception is thrown, Log it and return -1
}
}
return maxLength;
}如前所述,如果設置TextView的最大長度的實現發生更改,則會中斷。當方法開始拋出時,您將收到有關此更改的通知。即使這樣,該方法仍然返回-1,您應該將其作為無限長度處理。
總結
以上是生活随笔為你收集整理的android maxlength 代码设置,如何在代码中获取EditText maxLength设置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python微信自动回复代码_Pytho
- 下一篇: Casio Fx-4800P计算器测量计