widget(2、EditText)

EditText 是一个文本输入框,主要用到的类型是普通文本输入或密码输入。

通常设置如下:

    <EditText
        android:id="@+id/editText2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ems="10" //表示输入框的字符长度
        android:inputType="textPassword" /> //表示输入的是字符类型密码

EditText 有常用API如下:

editview = (EditText)findViewById(R.id.editText1);
pdview   = (EditText)findViewById(R.id.editText2);

pdview.setText(editview.getText().toString()); //输入内容的获取及赋值

EditText 常用如下两个事件监听,处理输入过程及完成。

  • 焦点改变
editview.setOnFocusChangeListener(new OnFocusChangeListener(){
    @Override
    public void onFocusChange(View v, boolean hasFocus) {
        if(!hasFocus){ //当该控件失去焦点时
            Log.i(TAG_ACTIVITY, editview.getText().toString());
        }
    }
});
  • 输入过程判断(模糊搜索)
editview.addTextChangedListener(new TextWatcher(){

    @Override
    public void afterTextChanged(Editable arg0) {            //完成输入时的字符串
        textview.setText(arg0);
    }

    @Override
    public void beforeTextChanged(CharSequence s, int start, int count,int after) {    //例如    //当前字符串为:我要输入    //光标位置为:我*要输入    //编辑框选择为:要输入    //输入为:不要输入    //则:start = 1,count = 3, after = 4, s = 我不要输入
    textview.setText("您正在输入......\n当前光标处在第 " + start
               +" 个位置\n您将会修改 " + count + " 个字符\n您这次输入的词语有 "   + after + " 个字符\n" + "当前输入为:" + s.toString()); }

    @Override
    public void onTextChanged(CharSequence s, int start, int before,int count) {
    //例如    //当前字符串为:我要输入    //光标位置为:我*要输入    //编辑框选择为:要输入    //输入为:不要输入    //则:start = 1,before = 3, count= 4, s = 我不要输入
textview.setText("您正在输入......\n当前光标处在第 " + start +" 个位置\n您选择修改 " + before + " 个字符\n您这次输入的词语有 " + count + " 个字符\n" + "当前字符串为:" + s.toString());} });
时间: 2024-12-12 17:35:02

widget(2、EditText)的相关文章

Android UI编程(View、ViewGroup类、按钮、TextView、EditText)

1.View和ViewGroup类 Android中所有的UI元素都是使用View和ViewGroup类的对象建立的. View:将一些信息绘制在屏幕上可以与用户产生交互 Viewgroup:包含多个View和Viewgroup的容器,用来定义UI布局 2.按钮 (1)方式一: 配置: <Button android:id="@+id/btn" android:layout_width="wrap_content" android:layout_height=

widget(8、ProgressBar)

ProgressBar为进度条,在andoird中有长条形.圆形等,用以呈现事件进度.主要定义如下: <ProgressBar android:id="@+id/progressBar1" style="?android:attr/progressBarStyleHorizontal" android:layout_width="fill_parent" android:layout_height="wrap_content&qu

【读书笔记-《Android游戏编程之从零开始》】4.Android 游戏开发常用的系统控件(EditText、CheckBox、Radiobutton)

3.4 EditText EditText类官方文档地址:http://developer.android.com/reference/android/widget/EditText.html EditText继承TextView,所以EditText具有TextView的属性特点,下面主要介绍一些EditText的特有的输入法的属性特点android:layout_gravity="center_vertical":设置控件显示的位置:默认top,这里居中显示,还有bottomand

android中RadioGroup、RadioButton、Spinner、EditText用法详解(含示例截图和源代码)

为了保护版权.尊重原创,转载请注明出处:http://blog.csdn.net/u013149325/article/details/43237757,谢谢! 今天在项目中用到了android中常用的RadioGroup.RadioButton.Spinner.EditText等控件,在此介绍一下它们的用法,希望对需要的朋友有帮助. 一.RadioGroup和RadioButton的使用 RadioButton就是我们常见的单选按钮,一个RadioGroup可以包含多个单选按钮,但是每次只能选

学习Android之第八个小程序文件保存(Notification、AndroidTestCase)

效果图:       .java文件有MainActivity.java.FileService.java.FileServiceTest.java, .xml文件有activity_main.xml. 本次注重AndroidTestCase类的使用,在开发中非常实用.用于测试某一功能. 使用AndroidTestCase类,有如下的要求: 1.在AndroidManifest.xml文件中,<manifest></manifest>中添加如下: <instrumentati

【读书笔记-《Android游戏编程之从零开始》】6.Android 游戏开发常用的系统控件(TabHost、ListView)

3.9 TabSpec与TabHost TabHost类官方文档地址:http://developer.android.com/reference/android/widget/TabHost.html Android 实现tab视图有2种方法,一种是在布局页面中定义<tabhost>标签,另一种就是继承tabactivity.但是我比较喜欢第二种方式,应为如果页面比较复杂的话你的XML文件会写得比较庞大,用第二种方式XML页面相对要简洁得多. <?xml version="1

android 设置字体颜色、EditText自动输入转换成大写字母的多种方式

在TextView上面设置某一个字的字体颜色为指定颜色时,可以通过java类SpannableString类和Html语言来实现. (一)SpannableString类方式 private void setText(TextView t){ String text = t.getText().toString().trim(); SpannableString span = new SpannableString(text); span.setSpan(new ForegroundColorS

【读书笔记-《Android游戏编程之从零开始》】3.Android 游戏开发常用的系统控件(Button、Layout、ImageButton)

3.1 Button Button这控件不用多说,就是一个按钮,主要是点击后进行相应事件的响应. 给组件添加ID属性:定义格式为 android:id="@+id/name",这里的name是自定义的,不是索引变量."@+"表示新声明,"@"表示引用,例如:"@+id/tv" 表示新声明一个id,是id名为tv的组件:"@id/tv" 表示引用id名为tv的组件. 给按钮添加点击事件响应  想知道按钮是否被

多线程下载文件(支持暂停、取消、断点续传)

多线程下载文件(支持暂停.取消.断点续传) 多线程同时下载文件即:在同一时间内通过多个线程对同一个请求地址发起多个请求,将需要下载的数据分割成多个部分,同时下载,每个线程只负责下载其中的一部分,最后将每一个线程下载的部分组装起来即可. 涉及的知识及问题 请求的数据如何分段 分段完成后如何下载和下载完成后如何组装到一起 暂停下载和继续下载的实现(wait().notifyAll().synchronized的使用) 取消下载和断点续传的实现 一.请求的数据如何分段 首先通过HttpURLConne