简介
EditText 在开发中经常用到得一个控件,也就是输入框,是一些用户交互的场景中的重要组件。例如,用户的登录操作,需要用户输入账号和密码,然后我们获取用户输入的数据,这就是EditText派上用场的地方了。本文章整理了EditText控件的常用属性和一些用法,仅供参考。
详解
1.常用属性
2.监听EditText内容改变
再onCreate中添加监听回调
// 通过id获取xml里面对应的控件
EditText et = findViewById(R.id.et);
et.addTextChangedListener(new TextWatcher() {
@Override
// 输入框内容改变前
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
/**
* charSequence : 显示的文本内容
* int i : 开始位置
* int i1 : 0 增加 非零 删除个数
* int i2 : 0 删除 非零 增加个数
* */
// 输入框需要改变的内容
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
// 内容改变后
@Override
public void afterTextChanged(Editable editable) {
}
});
3.监听软键盘回车键响应事件
// 通过id获取xml里面对应的控件
EditText et = findViewById(R.id.et);
// 监听键盘的key按下的事件
//1.创建匿名类对象
//2.当前这个Activity来监听事件
et.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) {
//回车键按下后需要执行的内容
System.out.println("ss");
return false;
}
});
5.EditText获取焦点并自动弹出键盘
在布局中添加
android:focusable="true"
android:focusableInTouchMode="true"
在代码中添加(onCreate)
//先获取对应的EditText
EditText et_input = findViewById(R.id.edit);
et_input.setFocusable(true);
et_input.setFocusableInTouchMode(true);
et_input.requestFocus();
_activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);