XML : Icons on Android menu don't appear on Google Maps Activity

MapsActivity code:

  package com.example.pc.googlemaps;    import android.Manifest;  import android.content.Context;  import android.content.pm.PackageManager;  import android.location.Criteria;  import android.location.Location;  import android.location.LocationManager;  import android.net.Uri;  import android.os.Bundle;  import android.support.v4.app.ActivityCompat;  import android.support.v7.app.AppCompatActivity;  import android.view.Menu;  import android.view.MenuInflater;    import com.google.android.gms.appindexing.Action;  import com.google.android.gms.appindexing.AppIndex;  import com.google.android.gms.common.api.GoogleApiClient;  import com.google.android.gms.maps.CameraUpdate;  import com.google.android.gms.maps.CameraUpdateFactory;  import com.google.android.gms.maps.GoogleMap;  import com.google.android.gms.maps.OnMapReadyCallback;  import com.google.android.gms.maps.SupportMapFragment;  import com.google.android.gms.maps.model.LatLng;  import com.google.android.gms.maps.model.MarkerOptions;    public class MapsActivity extends AppCompatActivity implements OnMapReadyCallback {        private GoogleMap mMap;      /**       * ATTENTION: This was auto-generated to implement the App Indexing API.       * See https://g.co/AppIndexing/AndroidStudio for more information.       */      private GoogleApiClient client;        @Override      protected void onCreate(Bundle savedInstanceState) {          super.onCreate(savedInstanceState);          setContentView(R.layout.activity_maps);          // Obtain the SupportMapFragment and get notified when the map is ready to be used.          SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()                  .findFragmentById(R.id.map);          mapFragment.getMapAsync(this);          // ATTENTION: This was auto-generated to implement the App Indexing API.          // See https://g.co/AppIndexing/AndroidStudio for more information.          client = new GoogleApiClient.Builder(this).addApi(AppIndex.API).build();          android.support.v7.app.ActionBar actionbar=getSupportActionBar();          actionbar.setLogo(R.mipmap.ic_launcher);          actionbar.setDisplayUseLogoEnabled(true);          actionbar.setDisplayShowHomeEnabled(true);        }      public boolean OnCreateOptionsMenu(Menu menu){          MenuInflater menuInflater=getMenuInflater();          menuInflater.inflate(R.menu.activity_main_actions,menu);          return super.onCreateOptionsMenu(menu);      }      @Override      public void onMapReady(GoogleMap googleMap) {          mMap = googleMap;          // Enable MyLocation Layer of Google Map          mMap.setMyLocationEnabled(true);            // Get LocationManager object from System Service LOCATION_SERVICE          LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);            // Create a criteria object to retrieve provider          Criteria criteria = new Criteria();            // Get the name of the best provider          String provider = locationManager.getBestProvider(criteria, true);            // Get Current Location          if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {              // TODO: Consider calling              //    ActivityCompat#requestPermissions              // here to request the missing permissions, and then overriding              //   public void onRequestPermissionsResult(int requestCode, String[] permissions,              //                                          int[] grantResults)              // to handle the case where the user grants the permission. See the documentation              // for ActivityCompat#requestPermissions for more details.              return;          }          Location myLocation = locationManager.getLastKnownLocation(provider);            // set map type          mMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);            // Get latitude of the current location          double latitude = myLocation.getLatitude();            // Get longitude of the current location          double longitude = myLocation.getLongitude();            // Create a LatLng object for the current location          LatLng latLng = new LatLng(latitude, longitude);            // Show the current location in Google Map          mMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));            // Zoom in the Google Map          mMap.animateCamera(CameraUpdateFactory.zoomTo(14));          mMap.addMarker(new MarkerOptions().position(new LatLng(latitude, longitude)).title("You are here!").snippet("Consider yourself located"));          LatLng myCoordinates = new LatLng(latitude, longitude);          CameraUpdate yourLocation = CameraUpdateFactory.newLatLngZoom(myCoordinates, 12);          mMap.animateCamera(yourLocation);      }        @Override      public void onStart() {          super.onStart();            // ATTENTION: This was auto-generated to implement the App Indexing API.          // See https://g.co/AppIndexing/AndroidStudio for more information.          client.connect();          Action viewAction = Action.newAction(                  Action.TYPE_VIEW, // TODO: choose an action type.                  "Maps Page", // TODO: Define a title for the content shown.                  // TODO: If you have web page content that matches this app activity's content,                  // make sure this auto-generated web page URL is correct.                  // Otherwise, set the URL to null.                  Uri.parse("http://host/path"),                  // TODO: Make sure this auto-generated app deep link URI is correct.                  Uri.parse("android-app://com.example.pc.googlemaps/http/host/path")          );          AppIndex.AppIndexApi.start(client, viewAction);      }        @Override      public void onStop() {          super.onStop();            // ATTENTION: This was auto-generated to implement the App Indexing API.          // See https://g.co/AppIndexing/AndroidStudio for more information.          Action viewAction = Action.newAction(                  Action.TYPE_VIEW, // TODO: choose an action type.                  "Maps Page", // TODO: Define a title for the content shown.                  // TODO: If you have web page content that matches this app activity's content,                  // make sure this auto-generated web page URL is correct.                  // Otherwise, set the URL to null.                  Uri.parse("http://host/path"),                  // TODO: Make sure this auto-generated app deep link URI is correct.                  Uri.parse("android-app://com.example.pc.googlemaps/http/host/path")          );          AppIndex.AppIndexApi.end(client, viewAction);          client.disconnect();      }      }    

Activity_main_actions.xml code

      <?xml version="1.0" encoding="utf-8"?>      <menu xmlns:android="http://schemas.android.com/apk/res/android"          xmlns:app="http://schemas.android.com/apk/res-auto">            <item              android:id="@+id/chat_id"              android:title="Chat"              android:icon="@drawable/ic_chat_white_24dp"              app:showAsAction="never"              />      </menu>    

Activity_maps.xml code

  <RelativeLayout      xmlns:android="http://schemas.android.com/apk/res/android"      android:layout_width="fill_parent"      android:layout_height="fill_parent">  <fragment xmlns:android="http://schemas.android.com/apk/res/android"      xmlns:map="http://schemas.android.com/apk/res-auto"      xmlns:tools="http://schemas.android.com/tools"      android:id="@+id/map"      android:name="com.google.android.gms.maps.SupportMapFragment"      android:layout_width="match_parent"      android:layout_height="450dp"      tools:context="com.example.pc.googlemaps.MapsActivity"      android:layout_alignParentBottom="true"      android:layout_alignParentLeft="true"      android:layout_alignParentStart="true" />    </RelativeLayout>    

menu_main.xml code

  <menu 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">        <item android:id="@+id/action_settings"          android:title="settings"          android:orderInCategory="100"          android:showAsAction="never" />  </menu>    

I noticed that, before all methods, there is @Override but OnCreateOptionsMenu does not have. When i add it, i got error. Please help. Thank you.

No comments:

Post a Comment