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