EditText获取焦点的一系列方法

/**
  * 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 <code>null</code>.
  *
  * @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判断第二个输入框是否获取到焦点时因为前面写了判断第一个输入框是否有焦点,所以一直进入不了第二个判断

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值