Ich habe eine TabLayout mit 4 vier Registerkarten (Fragmente) mit der Unterstützung von FragmentPagerAdapter in der Aktivität angefügt.Navigationsansicht mit Registerkartenlayout, gehe zu einer Registerkarte (Fragment) durch Navigationsansicht Element auf Klick
Ich möchte mithilfe der angehängten Navigationsansicht zu Registerkarten navigieren. Wie gehe ich auf die Tabs, wenn ich auf die Elemente in der Navigationsansicht klicke.
Dann, wie die aktuellen vier Registerkarten (die mit tablayout verbunden ist) mit neuen Fragment zu entfernen.
Zum Befestigen Fragmente:
private void setupViewPager(ViewPager viewPager) {
ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
adapter.addFragment(new OfferFragment(), "OFFERS");
adapter.addFragment(new BookedHistoryFragment(), "Booked History");
adapter.addFragment(new ReviewFragment(), "Reviews");
adapter.addFragment(new AvailableRoomFragment(), "Available");
viewPager.setAdapter(adapter);
}
Sub classAdapter, um die Fragmente hinzuzufügen.
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);
}
}
Navigationsansicht Aktionen:
mNavigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(MenuItem menuItem) {
mDrawerLayout.closeDrawers();
if (menuItem.getItemId() == R.id.nav_item_offers) {
int tabCount= tabLayout.getTabCount();
// I want to move to other tab.
Toast.makeText(getApplicationContext(),"First",Toast.LENGTH_SHORT).show();
// Intent intent = new Intent(getApplicationContext(), Booking.class);
// startActivity(intent);
}
else if (menuItem.getItemId() == R.id.nav_item_avail_room) {
// Then I want to remove Four tabs and call a new fragment.
Toast.makeText(getApplicationContext(),"Second",Toast.LENGTH_SHORT).show();
}
return false;
}
});