EditText获取焦点的一系列方法
16lz
2021-01-26
/** * Set whether this view can receive the focus. * * Setting this to false will also ensure that this view is not focusable * in touch mode. * * @param focusable If true, this view can receive the focus. * * @see #setFocusableInTouchMode(boolean) * @attr ref android.R.styleable#View_focusable */ //是否让界面获取焦点,设置false让界面不能获取焦点,如果设置成true则能获取焦点 public void setFocusable(boolean focusable) { if (!focusable) { setFlags(0, FOCUSABLE_IN_TOUCH_MODE); } setFlags(focusable ? FOCUSABLE : NOT_FOCUSABLE, FOCUSABLE_MASK); }
/** * Call this to try to give focus to a specific view or to one of its * descendants. * * A view will not actually take focus if it is not focusable ({@link #isFocusable} returns * false), or if it is focusable and it is not focusable in touch mode * ({@link #isFocusableInTouchMode}) while the device is in touch mode. * * See also {@link #focusSearch(int)}, which is what you call to say that you * have focus, and you want your parent to look for the next one. * * This is equivalent to calling {@link #requestFocus(int, Rect)} with arguments * {@link #FOCUS_DOWN} and null
. * * @return Whether this view or one of its descendants actually took focus. */ //一个控件的setFocus是true,那么requestFocus都返回的是true public final boolean requestFocus() { return requestFocus(View.FOCUS_DOWN); }
所以上面这种情况我遇见的问题是两个输入框的setFocus都是true,当使用requestFocus判断第二个输入框是否获取到焦点时因为前面写了判断第一个输入框是否有焦点,所以一直进入不了第二个判断
更多相关文章
- android工具类(2)NetWorkHelper 网络工具类
- Android获取手机屏幕参数的工具
- android中获取手机短信,删除短信功能
- Android(安卓)WebView请求,保存cookie,判断登录状态
- 跨进程存取数据
- android 下的内存状态获取
- 【Android】问题记录
- 获取系统联系人及电话
- Android6.0+权限申请工具类PermissionUtil