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