android.widget.AutoCompleteTextView#setOnFocusChangeListener ( )源码实例Demo

下面列出了android.widget.AutoCompleteTextView#setOnFocusChangeListener ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

@Override
public void onEndIconChanged(@NonNull TextInputLayout textInputLayout, int previousIcon) {
  AutoCompleteTextView editText = (AutoCompleteTextView) textInputLayout.getEditText();
  if (editText != null && previousIcon == TextInputLayout.END_ICON_DROPDOWN_MENU) {
    // Remove any listeners set on the edit text.
    editText.removeTextChangedListener(exposedDropdownEndIconTextWatcher);
    if (editText.getOnFocusChangeListener() == onFocusChangeListener) {
      editText.setOnFocusChangeListener(null);
    }
    editText.setOnTouchListener(null);
    if (IS_LOLLIPOP) {
      editText.setOnDismissListener(null);
    }
  }
}
 
@SuppressLint("ClickableViewAccessibility") // There's an accessibility delegate that handles
// interactions with the dropdown menu.
private void setUpDropdownShowHideBehavior(@NonNull final AutoCompleteTextView editText) {
  // Set whole layout clickable.
  editText.setOnTouchListener(
      new OnTouchListener() {
        @Override
        public boolean onTouch(@NonNull View v, @NonNull MotionEvent event) {
          if (event.getAction() == MotionEvent.ACTION_UP) {
            if (isDropdownPopupActive()) {
              dropdownPopupDirty = false;
            }
            showHideDropdown(editText);
          }
          return false;
        }
      });
  editText.setOnFocusChangeListener(onFocusChangeListener);
  if (IS_LOLLIPOP) {
    editText.setOnDismissListener(
        new OnDismissListener() {
          @Override
          public void onDismiss() {
            dropdownPopupDirty = true;
            dropdownPopupActivatedAt = System.currentTimeMillis();
            setEndIconChecked(false);
          }
        });
  }
}