一开始以为是获取到焦点之后软键盘没办法跳出的原因,添加了以下事件监听
?validateCodeEditText.setOnFocusChangeListener(new android.view.View.OnFocusChangeListener() {
InputMethodManager imm =(InputMethodManager)validateCodeEditText.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
[email protected] void onFocusChange(View v, boolean hasFocus){
if (hasFocus) {
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
} else { imm.hideSoftInputFromWindow(validateCodeEditText.getWindowToken(),0);
} }});
后来发现是在?validateCodeEditText.setFocusable(false);之后,再次获取焦点要使用以下语句
?validateCodeEditText.setFocusable(true);
validateCodeEditText.setFocusableInTouchMode(true);
validateCodeEditText.requestFocus();
validateCodeEditText.findFocus();
时间: 2024-12-09 07:24:13