码迷,mamicode.com
首页 > 其他好文 > 详细

widget(2、EditText)

时间:2015-01-23 21:32:55      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:

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());} });

widget(2、EditText)

标签:

原文地址:http://www.cnblogs.com/Fredric-2013/p/4244899.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!