下面列出了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);
}
});
}
}