当在xml文件中声明了一个EditText 的时候,可能会加入这个属性

1 希望这个EditText 最多可以输入几位 应该假如这段代码

android:maxLength="4"

当希望这个editText 的长度初始化为几个字符长度的时候,假如这段代码android:ems="10

那么想要在程序中获取这两个值的时候怎么办呢,有点麻烦了。

下面给出代码,以获取最大显示长度为例吧:

public int getMaxLength(){int length =0;try {InputFilter[] inputFilters = getFilters();for(InputFilter filter:inputFilters){Class<?> c = filter.getClass();if(c.getName().equals("android.text.InputFilter$LengthFilter")){Field[] f = c.getDeclaredFields();for(Field field:f){if(field.getName().equals("mMax")){field.setAccessible(true);length = (Integer)field.get(filter);}}}}}catch (Exception e) {e.printStackTrace();}mMaxLength = length;return length;}
这里面要用到Inputfilter ,然后再这些筛选条件中去找,找到你要的那个条件就ok了

2 当你希望这个文本框输入密码的时候,要加入这样的条件

 android:inputType="textPassword" 
不要用password="true" ,out了

那么想要在程序里面获取这个属性的时候应该怎么写呢?

看这段代码吧,别管什么意思,不大容易看明白,肯定是可以的

/** * judge wether the editTextView's inputType is password or normal   *  **/public  boolean isPasswordType(){int inputType = this.getInputType();        final int variation =                inputType & (EditorInfo.TYPE_MASK_CLASS | EditorInfo.TYPE_MASK_VARIATION);        return variation                == (EditorInfo.TYPE_CLASS_TEXT | EditorInfo.TYPE_TEXT_VARIATION_PASSWORD)                || variation                == (EditorInfo.TYPE_CLASS_TEXT | EditorInfo.TYPE_TEXT_VARIATION_WEB_PASSWORD)                || variation                == (EditorInfo.TYPE_CLASS_NUMBER | EditorInfo.TYPE_NUMBER_VARIATION_PASSWORD);}
这样就可以判断了,这个函数我也是在 textView 中找到的。




更多相关文章

  1. Android(安卓)Studio获取SHA1和MD5值---》图文直播
  2. Android通过原生APi获取所在位置的经纬度
  3. Android(安卓)优秀源码收集方式
  4. 关于Android中长度单位
  5. Android(安卓)MVP模式 入门
  6. Android(安卓)SDK上手指南 3:用户交互
  7. android在framework层增加自己的service仿照GPS
  8. Android(安卓)Studio(7)---从模板添加代码
  9. Android实现登录功能,Android与服务器数据交互,使用tomcat、mysql

随机推荐

  1. 使用Vitamio打造自己的Android万能播放器
  2. Android手势ImageView之(自定义GestureDet
  3. Android事件总线之EventBus3.0基本使用
  4. 给大家介绍几个常见的Android代码片段
  5. 很好的一些开源项目(转自:http://www.uur
  6. Android应用开发的插件化 模块化
  7. Android:Material系列:ActionBar-->Toolb
  8. Android使用第三方字体
  9. Android中自定义组合控件
  10. .Net程序员玩转Android开发---(12)ListVi