Hi, I have created a horizontal menu in the TabLayout
from which I showed the corresponding Fragment
of this menu, but I have set a Navigation Drawer
and the TabLayout menu has stopped working, now when I show the Fragment it they are blank.
How can I show the Fragments of TabLayout
?
This is the code of the MainActivity.java
public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {
private DrawerLayout drawer;
private ViewPager viewPager;
HorizontalScrollMenuView horizontal_menu;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayShowHomeEnabled(true);
actionBar.setIcon(R.mipmap.ic_logo_gel);
drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawer, toolbar,
R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.addDrawerListener(toggle);
toggle.syncState();
horizontal_menu = (HorizontalScrollMenuView) findViewById(R.id.horizontal_menu);
viewPager = (ViewPager) findViewById(R.id.pager);
horizontal_menu.addItem("Menu 1", R.drawable.menu1_icon,true);
horizontal_menu.addItem("Menu 2", R.drawable.menu2_icon );
horizontal_menu.addItem("Menu 3", R.drawable.menu3_icon );
horizontal_menu.addItem("Menu 4", R.drawable.menu4_icon );
horizontal_menu.addItem("Menu 5", R.drawable.menu5_icon );
horizontal_menu.showItems();
PagerAdapter pagerAdapter = new PagerAdapter(getSupportFragmentManager());
viewPager.setAdapter(pagerAdapter);
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
horizontal_menu.setItemSelected(position);
currentPosition = position;
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
horizontal_menu.setOnHSMenuClickListener(new HorizontalScrollMenuView.OnHSMenuClickListener() {
@Override
public void onHSMClick(MenuItem menuItem, int position) {
viewPager.setCurrentItem(position);
}
});
}
@Override
public boolean onNavigationItemSelected(@NonNull android.view.MenuItem item) {
switch (item.getItemId()){
case R.id.lateral_1:
getSupportFragmentManager().beginTransaction().replace( R.id.fragment_container,
new Menu_Lateral_1()).commit();
break;
case R.id.lateral_2:
getSupportFragmentManager().beginTransaction().replace( R.id.fragment_container,
new Menu_Lateral_2()).commit();
break;
case R.id.lateral_3:
getSupportFragmentManager().beginTransaction().replace( R.id.fragment_container,
new Menu_Lateral_3()).commit();
break;
case R.id.nav_share:
Toast.makeText(this, "Share", Toast.LENGTH_SHORT).show();
break;
case R.id.nav_send:
Toast.makeText(this, "Send", Toast.LENGTH_SHORT).show();
break;
}
drawer.closeDrawer(GravityCompat.START);
return true;
}
private class PagerAdapter extends FragmentPagerAdapter {
PagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
return new Menu_1();
case 1:
return new Menu_2();
case 2:
return new Menu_3();
case 3:
return new Menu_4();
case 4:
return new Menu_5();
default:
return new Menu_5();
}
}
@Override
public int getCount() {
return 6;
}
}
}
Code of the activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context="com.SoCu.CirDocu.MainActivity"
tools:openDrawer="start">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/colorPrimary"
app:titleTextColor="@android:color/white"
app:layout_collapseMode="pin"
android:elevation="4dp"
app:popupTheme="@style/AppTheme.FondoMenu"
app:theme="@style/ThemeOverlay.AppCompat.Dark"/>
<com.SoCu.Docu_A.custom_views.HorizontalScrollMenuView
android:id="@+id/horizontal_menu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:backgroundMenuColor="#0099cc"
app:backgroundNotifications="@color/colorAccent"
app:icon_height="30dp"
app:icon_width="30dp"
app:item_backgroundColor="@color/colorPrimary"
app:item_colorSelected="#ffffff"
app:item_textColor="#ffffff" />
<FrameLayout
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<TextView
android:id="@+id/ver_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
app:headerLayout="@layout/nav_header"
app:menu="@menu/drawer_menu" />
</android.support.v4.widget.DrawerLayout>
The images above show the horizontal menu, with the content in white, and the images below are the side menu and a link to show the contents of that Fragement.
The same here will see the problem better. link
Thank you.