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. 安装 Android 运行环境

    如果你恰好有一些旧的. 过时的 Android SDK 版本,请务必把所需的包更新至下面提到的版本并安装所有缺少的部分. 安装和配置 SDK 安装最新的 JDK. 使用 brew install an ...

  2. 定义的返回按钮 Push到下一个页面后 手势返回无效解决办法

    转自:http://zhangmingwei.iteye.com/blog/2080457 从iOS7的Beta版开始,就着手做兼容工作,到Beta4的時候,应用已经基本兼容,只是偶然发现,iOS样式 ...

  3. (转)鸟哥SHELL入门材料

    http://blog.chinaunix.net/space.php?uid=9809038&do=blog&cuid=62903 经典入门材料! 学习 Shell Scripts ...

  4. C语言--const修饰指针解析

          这种例子在我们平时编程时可能会很少用,但是在面试时被问的可能性就很大了. 用const修饰指针,常见的情况可以分为四种: 1.const int *p; // p 可变,p 指向的对象不可 ...

  5. Linux内核如何启动并装载一个可执行程序

    2016-04-07 张超<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000#/info 一.理解编译链接的 ...

  6. iOS之AFN错误代码1016(Error Domain=com.alamofire.error.serialization.response Code=-1016 "Request failed: unacceptable)

    请参考这篇博客:点击查看

  7. Hibernate项目里配置环境时,jar包配置不当会对测试结果产生影响。

    问题情况: 如下图所示,该图中,显示了一堆错误的jar包.这是导致了Junit4测试通过了,数据库却没反应的原因. 原因: 之所以出现这种情况,eclipse其实已经告诉了我们原因.如下图所示,这些j ...

  8. 作业三 ATM

    模拟实现一个ATM+购物商场程序 1.额度15000自定义 商城和银行两个帐户 2.实现购物商城,买东西加入购物车,调用信用卡接口结账 3.可以提现,手续费5%,提现额度不能超过50% 4.每月22日 ...

  9. Oracle 分区表中索引失效

    当对分区表进行 一些操作时,会造成索引失效. 当有truncate/drop/exchange 操作分区  时全局索引 会失效. exchange 的临时表没有索引,或者有索引,没有用includin ...

  10. uva 10609 - Fractal

    题目大意:给出A,B两个点的坐标,以及T,每次找到A.B的四等分点C,D,然后以AB/2为边长,C,D为顶点,构建一个等边三角形,E为另外一个顶点,然后再对C,E:E,D做同样的操作,直到构建的等边三 ...