android关于EditText获取焦点的一个问题
2017-09-15 15:24
309 查看
之前用EditText遇到好多关于焦点的问题,最近想到了一个问题,就记录下来,以后再慢慢添加。
1.页面刷新会让EditText失去焦点,比如设置某个控件显示隐藏,刷新adapter等等。我们可以延迟50ms给EditText重新设置焦点。2.我们知道,focusableInTouchMode和focusable是用来获取焦点的,如果其他控件设置了这属性,那它就能抢EditText的焦点。我遇到过listView设置了这两个属性,结果刷新布局后软键盘输入法由中文变成英文的情况。那么去掉其他控件的这两个属性就好了。
3.适当的时候调用requestFocus或requestFocusInTouchMode可以主动获取焦点。
4.Activity进去时隐藏软键盘,可以直接在manifest里面放属性就可以了
android:windowSoftInputMode="stateHidden"
点击外面其他控件软键盘不消失,可以直接调用隐藏软键盘的方法来解决。贴一个方法。
protected void hideSoftKeyboard() { if (getWindow().getAttributes().softInputMode != WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN) { if (getCurrentFocus() != null) inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); } }
相关文章推荐
- Android的EditText自动获取焦点并弹出输入法问题
- android的EditText重新获取焦点问题
- android的EditText重新获取焦点问题
- 【Android - 问题解决】之EditText自动获取焦点问题
- Android的EditText自动获取焦点并弹出输入法问题
- Android的EditText自动获取焦点并弹出输入法问题
- 解决android EditText自动获取焦点的问题
- 关于Android的EditText焦点问题
- 关于android中EditText自动获取焦点并弹出键盘的相关设置
- 关于EditText获取焦点,隐藏软键盘的问题
- android关于EditText取消默认焦点及触摸其它地方去掉光标隐藏键盘问题
- 关于Android的EditText焦点问题
- 关于Android中EditText自动获取焦点并弹出键盘的相关设置
- Android的EditText自动获取焦点并弹出输入法问题
- android的EditText重新获取焦点问题
- Android EditText setOnClickListener事件 只有获取焦点才能响应 采用setOnTouchListener解决
- 【Android】ListView中EditText焦点问题
- Android中不让EditText自动获取焦点
- [Android]去除EditText自动获得的焦点,解决软键盘弹出问题
- [Android教程]EditText设置/隐藏光标位置、选中文本和获取/清除焦点