18UI常用组件之EditText

三、文本输入框EditText

EditTex类继承自TextView。EditText是接受用户输入信息的最重要控件。在html当中,相当于<input type=”text”  />

<EditText

android:id ="@+id/esitText1"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:hint="请输入数字!!"

>

</EditText>

android:maxLength="10"                        //控制最大可输入长度

android:ems="10"                                           //控制输入框显示长度,但是输入长度不限

android:hint="请输入数字!"                   //在文本框为空时显示的文字提示信息

android:textColorHint="#00ff00"            //设置提示信息的文字颜色

android:numeric="integer" //只允许输入数字,有三种属性integer(正整数),"signed"(整数),"decimal"(小数)

android:digits="123abc+.*/"            //只允许输入”123abc+.*” 所罗列的数字符号,如果输入其它将不予以显示/

android:phoneNumber="true"                //限制输入框中只能输入手机号码

android:password="true"                         //限制输入框中输入的任何内容将以"*"符号来显示

限制EditText内容的特殊方式1:

方法一、利用代码控制输入参数              addTextChangedListener

(假设,要求输入字符不能包含数字4)

EditText editText=(EditText)findViewById(R.id.editText1);

editText.addTextChangedListener(newTextWatcher() {

public void onTextChanged(CharSequence arg0, int arg1, int arg2, intarg3) {

}

public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,int arg3) {

}

public void afterTextChanged(Editable s) {

String string=s.toString();                //将输入的字符s转换为String

if(string.indexOf("4")!= -1) {   //判断输入的字符是否含有4

Toast.makeText(getApplicationContext(), "不能输入数字4 !",0).show();

s.clear();                                      //清空输入

}

}

});

限制EditText内容的特殊方式2:

方法二:利用设置filter的方法控制输入参数

(如果输入数字1,则该字符被汉字“一”代替,如果输入数字2,则该字符被汉字“二”代替,并显示)

import android.text.Spanned;

EditText editText2=(EditText)findViewById(R.id.editText2);

editText2.setFilters(new InputFilter[]{

new InputFilter.LengthFilter(5),                //最大能输入5个字符

new InputFilter.AllCaps(),                          //将所有输入的小写字母变成大写字母

new InputFilter() {                                       //设置自己的filter

publicCharSequence filter(CharSequence source, intstart, int end, Spanned dst, int dstart, int dend) {

// source代表你输入的文字;start,end分别为开始位置和结束位置

//dest为现在显示的字符串;dstart,dend为光标所在字符串的位置;

if("1".equals(source.toString())){     //如果输入数字1,则该字符被汉字“一”代替,并显示

return "一";

}elseif("2".equals(source.toString())){

return"二";

}else{

return null;

}

}

}

});

第18讲- UI常用组件之EditText的更多相关文章

  1. 第17讲- UI常用组件之ImageView图片浏览

    第17讲 UI常用组件之ImageView图片浏览 二.图片浏览ImageView ImageView就是一个用来显示图片的视图: ImageView常见属性 常见属性 对应方法 说明 android ...

  2. 第28讲 UI组件之 ListView和ArrayAdapter

    第28讲 UI组件之 ListView和ArrayAdapter 1. Adapter 适配器 Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带.在常见的 ...

  3. 第16讲- UI组件之TextView

    第16讲 UI组件之TextView Android系统所有UI类都是建立在View和ViewGroup这两类的基础上的. 所有View的子类称为widget:所有ViewGroup的子类称为Layo ...

  4. 第32讲 UI组件之 时间日期控件DatePicker和TimePicker

    第32讲 UI组件之 时间日期控件DatePicker和TimePicker 在Android中,时间日期控件相对来说还是比较丰富的.其中, DatePicker用来实现日期输入设置,    Time ...

  5. 第31讲 UI组件之 Gallery画廊控件

    第31讲 UI组件之 Gallery画廊控件 1.Gallery的简介 Gallery(画廊)是一个锁定中心条目并且拥有水平滚动列表的视图,一般用来浏览图片,并且可以响应事件显示信息.Gallery只 ...

  6. 第30讲 UI组件之 GridView组件

    第30讲 UI组件之 GridView组件 1.网格布局组件GridView GridView是一个ViewGroup(布局控件),可使用表格的方式显示组件,可滚动的控件.一般用于显示多张图片,比如实 ...

  7. 第34讲 UI组件之 ProgressDialog和Message

    第34讲UI组件之 ProgressDialog和Message 1.进度对话框 ProgressDialog <1>简介 ProgressDialog是AlertDialog类的一个扩展 ...

  8. 第33讲 UI组件_进度条ProcessBar和消息队列处理器handler

    第33讲UI组件_进度条ProcessBar和消息队列处理器handler 1. 进度条ProcessBar 一个可视化的进度指示器,代表正在执行的耗时任务.可以为用户展示一个进度条,表示正在执行的任 ...

  9. 第29讲 UI组件之 ListView与 BaseAdapter,SimpleAdapter

    第29讲 UI组件之 ListView与 BaseAdapter,SimpleAdapter 1.BaseAdapter BaseAdapter是Android应用程序中经常用到的基础数据适配器,它的 ...

随机推荐

  1. paip.提升用户体验---c++ qt 取消gcc编译的警告信息.txt

    paip.提升用户体验---c++ qt 取消gcc编译的警告信息.txt 作者Attilax ,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http:// ...

  2. 《STL源代码剖析》---stl_alloc.h阅读笔记

    这一节是讲空间的配置与释放,但不涉及对象的构造和析构,仅仅是解说对象构造前空前的申请以及对象析构后空间怎么释放. SGI版本号的STL对空间的的申请和释放做了例如以下考虑: 1.向堆申请空间 2.考虑 ...

  3. (第三章)Java内存模型(中)

    一.volatile的内存语义 1.1 volatile的特性 理解volatile特性的一个好办法是把对volatile变量的单个读/写,看成是使用同一个锁对这些单个读/写操作做了同步.下面通过具体 ...

  4. 数据视化Echarts+百度地图API实现市县区级下钻

    开始 这两天公司有个页面需要做数据可视化的展示,数据视化采用的是Echarts+百度地图API做展示,需要用到县级区级下钻的一个联动效果发现网上关于Echarts做到县区级下钻的资料很少,有的话也不是 ...

  5. this——笔记

    this是执行上下文中的一个属性.this与上下文中可执行代码的类型有直接关系,this值在进入上下文时确定,并且在上下文运行期间永久不变. 在这里一切都简单.在全局代码中,this始终是全局对象本身 ...

  6. ASP.NET MVC3.0或4.0设置二级域名的方法

    之前我就想做二级域名指向同一个IP同一个程序无非是在路由匹配规则上做文章也就是对Url的重写的一种思路.我用了半天时间上网查阅了相关资料并做了Demo测试是完全 以的,在这分享给大家... 假如网站主 ...

  7. (转)HiddenField控件的使用

    ASP.NET2.0 HiddenField控件(1)2007-05-12 23:18HiddenField控件顾名思义就是隐藏输入框的服务器控件,它能让你保存那些不需要显示在页面上的且对安全性要求不 ...

  8. Linux修改时间时区并在Tomcat中生效

    Linux查看当前时间时区linux:~ # datelinux:~ # date –Rlinux:~ # zdump -v /usr/share/zoneinfo/Asia/Beijing ---- ...

  9. Python入门-----介绍

    摘要:Python语言的特点 ----->优雅.明确.简单 一.Python适合的领域 web网站和各种网络服务 系统工具和脚本 作为“胶水”语言,把其他语言开发的模块包装起来方便使用 二.Py ...

  10. python之7-3对象的信息/方法获取

    我们可以用dir()来获取一个类,一个模块,一个字符串的信息/方法 例如: #可以列出Image模块的方法 >>import Image >>dir(Image) #列出字符串 ...