Я не могу обновить вид видимого фрагмента - PullRequest
0 голосов
/ 03 июня 2018

Вкратце моя проблема заключается в следующем: я вызываю метод фрагмента перед onResume () и не знаю почему.

Я не использую setRetainInstance.У меня есть активность с SearchView и ViewPager.У меня также есть FragmentStatePagerAdapter, который сохраняет 2 фрагмента в списке.

Мой SearchView работает как прослушиватель OnQueryTextListener.Когда я отправляю, внутри слушателя onQueryTextSubmit я вызываю:

//make changes in shared preferences
Fragment fragment = mAdapter.getItem(viewPager.getCurrentItem());
((View) fragment).onLocationChange();

Реализация onLocationChange в каждом фрагменте выглядит так:t обновить вид видимого фрагмента.Я вижу изменения, только изменяя мою текущую вкладку и обнаруживая изменение во фрагменте:

@Override
  public void setUserVisibleHint(boolean isVisibleToUser) {
    super.setUserVisibleHint(isVisibleToUser);
    isVisible = isVisibleToUser;
    // Make sure that fragment is currently visible
    if (isVisible && isResumed()) {
      onResume();
    }
  }

Знаете ли вы, почему это иногда не работает?Мой onResume выглядит так:

@Override
  public void onResume() {
    super.onResume();
    if (!getUserVisibleHint()) {
      return;
    }
    //work here
  }

Дайте мне знать, если вам нужна дополнительная информация.Заранее спасибо.Франциско

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...