There is a ViewPager with three fragments, when changing fragments, you need to change the ImageView in the Activity . How to do it? How to tell the Activity what fragment is on the screen now.
ViewPagerAdapter code:
class ViewPagerAdapter extends FragmentPagerAdapter { private final List<Fragment> mFragmentList = new ArrayList<>(); private final List<String> mFragmentTitleList = new ArrayList<>(); public ViewPagerAdapter(FragmentManager manager) { super(manager); } @Override public Fragment getItem(int position) { return mFragmentList.get(position); } @Override public int getCount() { return mFragmentList.size(); } public void addFragment(Fragment fragment, String title) { mFragmentList.add(fragment); mFragmentTitleList.add(title); } @Override public CharSequence getPageTitle(int position) { return mFragmentTitleList.get(position); } } Adding fragments to the Adapter:
private void setupViewPager(ViewPager viewPager) { ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager()); adapter.addFragment(new CallFragment(), String.valueOf(getText(R.string.main_activity_tab_call))); adapter.addFragment(new ChatFragment(), String.valueOf(getText(R.string.main_activity_tab_chat))); adapter.addFragment(new ContactFragment(), String.valueOf(getText(R.string.main_activity_tab_contact))); viewPager.setAdapter(adapter); }