У меня в программе есть два фрагмента каждый из которых отвечает за один вид сообщений - входящие или исходящие. Есть адаптер который реализует выбор этих фрагментов. И я хочу сделать так, чтобы при выборе пункта меню, я видел определенный фрагмент. Вот мой адаптер:
public class PagerAdapter extends FragmentStatePagerAdapter {
private int mNoOfTabs;
public PagerAdapter(FragmentManager fm) {
super(fm);
//this.mNoOfTabs = NumberOfTabs;
}
@Override
public Fragment getItem(int position) {
switch (position)
{
case 0:
return new Received();
case 1:
return new Sent();
/* default:
return new Received();*/
}
return new Sent();
}
@Override
public int getCount() {
return mNoOfTabs;
}
}
дальше вот выбор пунктов меню:
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
int id = item.getItemId();
fragmentManager = getSupportFragmentManager();
/* mAdapter = new PagerAdapter(getSupportFragmentManager());
mPager = findViewById(R.id.frame);*/
ft = fragmentManager.beginTransaction();
if (id == R.id.received) {
ft.replace(R.id.frame, new Received());
} else if (id == R.id.sended) {
ft.replace(R.id.frame, new Sent());
}
ft.commit();
DrawerLayout drawer = findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}
и вот адаптер в меню:
mAdapter = new PagerAdapter(getSupportFragmentManager());
mPager = findViewById(R.id.frame);
но у меня выводит только один фрагмент - Входящие сообщения, а вот исходящие сообщения у меня не показывает. Может я где-то что-то не дописал, или еще где-то ошибка.