I've been trying to add a Nav Drawer to my app. I have this MapsActivty which is my main activity.
public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {
public GoogleMap mMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
            .findFragmentById(R.id.map);
    mapFragment.getMapAsync(this);
    }
@SuppressWarnings("StatementWithEmptyBody")
public void onMapSearch(View view) {
    EditText locationSearch = (EditText) findViewById(R.id.editText);
    String location = locationSearch.getText().toString();
    List<Address> addressList = null;
    if (location != null || !location.equals("")) {
        Geocoder geocoder = new Geocoder(this);
        try {
            addressList = geocoder.getFromLocationName(location, 1);
        } catch (IOException e) {
            e.printStackTrace();
        }
        Address address = addressList.get(0);
        LatLng latLng = new LatLng(address.getLatitude(), address.getLongitude());
        mMap.addMarker(new MarkerOptions().position(latLng).title("Marker"));
        mMap.animateCamera(CameraUpdateFactory.newLatLng(latLng));
    }
}
public void onNormalMap(View view) {
    mMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
}
public void onSatelliteMap(View view) {
    mMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
}
public void onTerrainMap(View view) {
    mMap.setMapType(GoogleMap.MAP_TYPE_TERRAIN);
}
public void onHybridMap(View view) {
    mMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
}
public static double lng;
public static double lat;
@Override
public void onMapReady(final GoogleMap googleMap) {
    mMap = googleMap;
    Button btn = (Button) findViewById(R.id.button);
    btn.setOnClickListener(new View.OnClickListener()
    {
        @Override
        public void onClick(View v)
        {
            Intent intent = new Intent (v.getContext(), RegistroInfo.class);
            intent.putExtra("longitud", String.valueOf(lng));
            intent.putExtra("latitud", String.valueOf(lat));
            startActivityForResult(intent, 0);
        } });
    //View v;
    mMap.setOnMapLongClickListener(new GoogleMap.OnMapLongClickListener() {
        @Override
        public void onMapLongClick(LatLng point) {
            mMap.addMarker(new MarkerOptions().position(point).title("Custom location").icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_RED)));
            RegistroInfo regis = new RegistroInfo();
            lng = point.longitude;
            lat = point.latitude;
        }
    });
    // Add a marker in Sydney and move the camera
    LatLng cusco = new LatLng(-13.537733, -71.903838);
    mMap.addMarker(new MarkerOptions().position(cusco).title("Cusco, Peru"));
    float zoomLevel = 16; //This goes up to 21
    mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(cusco, zoomLevel));
    mMap.moveCamera(CameraUpdateFactory.newLatLng(cusco));
    if (ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION)
            != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this,
            android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED)
    {
        return;
    }
    mMap.getUiSettings().setMyLocationButtonEnabled(true);
    mMap.setMyLocationEnabled(true);
    mMap.getUiSettings().setMyLocationButtonEnabled(true);
    mMap.getUiSettings().setZoomControlsEnabled(true);
    mMap.getUiSettings().setIndoorLevelPickerEnabled(true);}}
- NOTICE that a use - extends FragmentActivityand i saw that i could use- extends MenuActivityfrom my MenuActivity I tried this post [Same Navigation Drawer in different Activities)
- From my Menu Activity i have some items, which are the MapsActivity( - nav_MenuPrincipal), PerfilActivity(another activity showing information of current user)- nav_perfil, NormalMap(style of map)- nav_normal, SatelliteMap(style of map)- nav_satellite, TerrainMap(style of map)nav_terrainmap- , HybridMap(style of map)nav_hybrid
Here goes the MenuActivity
    public class MenuActivity extends AppCompatActivity
    implements NavigationView.OnNavigationItemSelectedListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_menu);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
    ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
            this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
    drawer.setDrawerListener(toggle);
    toggle.syncState();
    NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
    navigationView.setNavigationItemSelectedListener(this);
}
@Override
public void onBackPressed() {
    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
    if (drawer.isDrawerOpen(GravityCompat.START)) {
        drawer.closeDrawer(GravityCompat.START);
    } else {
        super.onBackPressed();
    }
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu, menu);
    return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();
    //noinspection SimplifiableIfStatement
    if (id == R.id.action_settings) {
        return true;
    }
    return super.onOptionsItemSelected(item);
}
@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
    // Handle navigation view item clicks here.
    int id = item.getItemId();
    if (id == R.id.nav_MenuPrincipal) {
        startActivity(new Intent(this, MapsActivity.class));
        return true;
    }
    else if (id == R.id.nav_perfil) {
    }
    else if (id == R.id.nav_suggestions) {
    } else if (id == R.id.nav_normalmap) {
    } else if (id == R.id.nav_satellitemap) {
    } else if (id == R.id.nav_terrainmap) {
    } else if (id == R.id.nav_hybridmap) {
    } else if (id == R.id.nav_aboutus) {
    }
    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
    drawer.closeDrawer(GravityCompat.START);
    return true;
}
}
- Notice that I've tried this - if (id == R.id.nav_MenuPrincipal) { startActivity(new Intent(this, MapsActivity.class)); return true; }, it works but not showing the menu bar.
- For the items called - Normal, Satellite, Terrain, Hybridi just want to change the style of the map for the- MapsActivity
- Now I'm using a LoginActivity which is already connected to a DB on a Hosting, it has the intent filter. Then i want to show my MainActivity (MapsActivity) but with that Menu (NavigationDrawer) 
Thank you very much. Sorry if I'm not very clear, its my first time here
 
     
    