Некоторый код поможет лучше понять проблему, показывая, что вы пытаетесь обновить на странице и что вы называете notifyDataSetChanged()
вкл.
Ваш вопрос и комментарий - две отдельные проблемы.
Вы находитесь на вкладке Y и хотите обновить вкладку Y
Вы находитесь на вкладке X и хотите обновить вкладку Y при переходе на нее.
Обычно для задачи 1 это может быть обработано в коде для этой вкладки (стр.)
Для проблемы 2 в целом, если вы хотите что-то сделать, когда выперейдите на страницу, затем вам нужно добавить OnPageChangeListener
, но это может быть только началом того, что вам нужно сделать, чтобы обновить вкладку (страницу).
https://developer.android.com/reference/android/support/v4/view/ViewPager.OnPageChangeListener.html#onPageSelected(int)
mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageSelected(int position) {
if (position == 1 || position == 2)
{
// do something here
}
if (position == 0)
{
// do something else
}
}
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
// Code goes here
}
@Override
public void onPageScrollStateChanged(int state) {
// Code goes here
}
});
Но также без кода, я не могу сказать, если вы реализовали адаптер таким образом, что он позволяет активировать текущую страницу, когда notifyDataSetChanged()
как
https://developer.android.com/reference/androidx/viewpager/widget/PagerAdapter.html#top_of_page
PagerAdapterподдерживает изменения набора данных. Изменения в наборе данных должны происходить в основном потоке и заканчиваться вызовом notifyDataSetChanged () аналогично адаптерам AdapterView, полученным из BaseAdapter. Изменение набора данных может включать добавление, удаление или изменение страниц. ViewPager будет поддерживать текущую страницу активной, если адаптер реализует метод getItemPosition (Object).