@Override
 protected void onFocusChanged(boolean gainFocus, int direction, Rect previouslyFocusedRect) {
   super.onFocusChanged(gainFocus, direction, previouslyFocusedRect);
   if (gainFocus == false) {
     updateSuggestionData();
   }
 }
 @Override
 protected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) {
   super.onFocusChanged(focused, direction, previouslyFocusedRect);
   if (focused) {
     performFiltering(getText(), 0);
   }
 }
 @Override
 protected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) {
   super.onFocusChanged(focused, direction, previouslyFocusedRect);
   if (focused) {
     performFiltering("", 0);
     InputMethodManager imm =
         (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
     imm.hideSoftInputFromWindow(getWindowToken(), 0);
     setKeyListener(null);
     dismissDropDown();
   } else {
     isPopup = false;
   }
 }