0

ViewPagerフラグメント内にAutoCompleteTextViewの問題があります。 AutoCompleteTextViewデータは動的にロードされ、正常に動作しますが、別のフラグメント(ViewPagerの別のページ)にスワイプしてデータがロードされる前に、その間にスワップしたフラグメントにAutoCompleteTextViewドロップダウンが表示されます。私の例では、ViewPagerに3つのフラグメントがあり、3つ目はAutoCompleteTextViewを含み、2番目のページにスワイプすると、2番目のページにドロップダウンが表示されます。 (デフォルトではsetOffscreenPageLimitは1であるため、より良いUXのために常に1つのフラグメントがメモリに残されます)。 誰も同じ問題に遭遇しましたか?ViewPagerの別のフラグメントにスワイプした場合、AutoCompleteTextViewからフォーカスを削除します。

答えて

1

他のViewPagerフラグメントでAutoCompleteTextViewまたはEditTextを持っている人にはうまくいくかどうかはわかりません。私はclearFocus追加viewPagerを保持しているMainActivityで

:しかし、いずれにせよ、私はこのようにそれをやった

mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { 
     @Override 
     public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { 

     } 

     @Override 
     public void onPageSelected(int position) { 
      if (position == 0 || position == 1) { 
       if (getCurrentFocus() != null) { 
        getCurrentFocus().clearFocus(); 
       } 
      } 
     } 

     @Override 
     public void onPageScrollStateChanged(int state) { 
      if (state == ViewPager.SCROLL_STATE_IDLE) { 
       hideKeyboard(); 
      } 
     } 
    }); 

と第三の断片で、私はそのページでは、開いたときに、フォーカスを持っている必要がありますAutoCompleteTextView上のrequestFocusを追加しました

mAutoCompleteTextView.requestFocus(); 

は、それが誰か

を役に立てば幸い