EditText常用属性

1.EditText设置光标位置问题

    EditText中有一些预置文本的时候,想把光标调到最前面,一开始是使用的setSelection(0),结果发现在三星P1000上面有问题。

经过研究发现需要先调用EditText.requestFocus(),再调用setSelection(0)。否则的话,在2.x的机器上有问题,但3.x上面是好着的。


2.EditText中游标不显示的解决办法

    android:background="@null"


3.java代码中:控制编辑框中内容的显示性
    EditText et_password;
    et_password.setTransformationMethod(PasswordTransformationMethod.getInstance());//设置编辑框为密码模式

    et_password.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
    或者
    et_password.setTransformationMethod(null);//设置编辑框为非密码模式
                    
    et_package.setSelection(et_password.getText().length());//控制游标在末尾


4.xml中:是否允许输入法占满全屏
    android:imeOptions="flagNoExtractUi"//设置上为不允许 默认为允许


5.如何限制 EditText 最大输入字符数
    方法一:

        在 xml 文件中设置文本编辑框属性作字符数限制

        如:android:maxLength="10" 即限制最大输入字符个数为10

    方法二:

        在代码中使用InputFilter 进行过滤
       如:
        EditText editText = (EditText)findViewById(R.id.entry);
        editText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(20)}); //即限定最大输入字符数为20

    方法三:
        利用 TextWatcher 进行监听
        MaxLengthWatcher类在此文件外层
        在Activity部分:
        EditText editText = (EditText) findViewById(R.id.entry);  
            editText.addTextChangedListener(new MaxLengthWatcher(10, editText));  //限制输入字符数为10个

6.一般应用程序想要监听回车或搜"索按键则,如下写法:

修改输入法回车键上文字

1.actionUnspecified 未指定,对应常量EditorInfo.IME_ACTION_UNSPECIFIED.

 2.actionNone 没有动作,对应常量EditorInfo.IME_ACTION_NONE

3.actionGo 去往,对应常量EditorInfo.IME_ACTION_GO 

4.actionSearch 搜索,对应常量EditorInfo.IME_ACTION_SEARCH

5.actionSend 发送,对应常量EditorInfo.IME_ACTION_SEND

6.actionNext 下一个,对应常量EditorInfo.IME_ACTION_NEXT

7.actionDone 完成,对应常量EditorInfo.IME_ACTION_DONE

edittext.setOnEditorActionListener(new TextView.OnEditorActionListener() {  
              
            @Override  
            public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {  
                /*判断是否是“GO”键*/  
                if(actionId == EditorInfo.IME_ACTION_GO){                             
                      
                    edittext.setText("success");                      
                      
                    return true;  
                }  
                return false;  
            }  
        }); 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值