簡介
EditText 在開發(fā)中經(jīng)常用到得一個(gè)控件瞬捕,也就是輸入框,是一些用戶交互的場景中的重要組件丰介。例如背蟆,用戶的登錄操作鉴分,需要用戶輸入賬號和密碼,然后我們獲取用戶輸入的數(shù)據(jù)带膀,這就是EditText派上用場的地方了志珍。本文章整理了EditText控件的常用屬性和一些用法,僅供參考垛叨。
詳解
1.常用屬性
2.監(jiān)聽EditText內(nèi)容改變
再onCreate中添加監(jiān)聽回調(diào)
// 通過id獲取xml里面對應(yīng)的控件
EditText et = findViewById(R.id.et);
et.addTextChangedListener(new TextWatcher() {
@Override
// 輸入框內(nèi)容改變前
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
/**
* charSequence : 顯示的文本內(nèi)容
* int i : 開始位置
* int i1 : 0 增加 非零 刪除個(gè)數(shù)
* int i2 : 0 刪除 非零 增加個(gè)數(shù)
* */
// 輸入框需要改變的內(nèi)容
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
// 內(nèi)容改變后
@Override
public void afterTextChanged(Editable editable) {
}
});
3.監(jiān)聽軟鍵盤回車鍵響應(yīng)事件
// 通過id獲取xml里面對應(yīng)的控件
EditText et = findViewById(R.id.et);
// 監(jiān)聽鍵盤的key按下的事件
//1.創(chuàng)建匿名類對象
//2.當(dāng)前這個(gè)Activity來監(jiān)聽事件
et.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) {
//回車鍵按下后需要執(zhí)行的內(nèi)容
System.out.println("ss");
return false;
}
});
5.EditText獲取焦點(diǎn)并自動(dòng)彈出鍵盤
在布局中添加
android:focusable="true"
android:focusableInTouchMode="true"
在代碼中添加(onCreate)
//先獲取對應(yīng)的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);