简体   繁体   中英

Method doesnot override method from it's super class

I just copied this code from somewhere put when I tried to run it says method doesnot override method from it's super class. I am a newbie to java inheritance. Please help me understand this. How can I solve this? This error is shown for last two @override methods.

public class MapViewFragment extends Fragment implements OnMapReadyCallback {


        private Button btnFindPath;
        private EditText etOrigin;
        private EditText etDestination;
        private ProgressDialog progressDialog;

        private List<Marker> originMarkers = new ArrayList<>();
        private List<Marker> destinationMarkers = new ArrayList<>();
        private List<Polyline> polylinePaths = new ArrayList<>();


        GoogleMap mGoogleMap;
        MapView mMapView;
        View mView;




        public MapViewFragment() {
            // Required empty public constructor
        }

        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
        }

        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                 Bundle savedInstanceState) {
            // Inflate the layout for this fragment
            mView = inflater.inflate(R.layout.fragment_map_view, container, false);

            btnFindPath = (Button) getView().findViewById(R.id.btnFindPath);
            etOrigin = (EditText) getView().findViewById(R.id.etOrigin);
            etDestination = (EditText) getView().findViewById(R.id.etDestination);

            btnFindPath.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    sendRequest();
                }
            });

            return mView;
        }

        private void sendRequest() {
            String origin = etOrigin.getText().toString();
            String destination = etDestination.getText().toString();
            if (origin.isEmpty()) {
                Toast.makeText(getActivity(), "Please enter origin address!", Toast.LENGTH_SHORT).show();
                return;
            }
            if (destination.isEmpty()) {
                Toast.makeText(getActivity(), "Please enter destination address!", Toast.LENGTH_SHORT).show();
                return;
            }

            try {
                new DirectionFinder(getActivity(), origin, destination).execute();
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
        }



        @Override
        public void onViewCreated(View view, Bundle savedInstanceState) {
            super.onViewCreated(view, savedInstanceState);

            mMapView = (MapView) mView.findViewById(R.id.map);
            if (mMapView != null){
                mMapView.onCreate(null);
                mMapView.onResume();
                mMapView.getMapAsync(this);

            }
        }

        @Override
        public void onMapReady(GoogleMap googleMap) {
            MapsInitializer.initialize(this.getActivity());
            mGoogleMap = googleMap;
            googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
            googleMap.addMarker(new MarkerOptions().position(new LatLng(27.717245, 85.323960)).title("Yo ho Kathmandu University") .snippet("I study Here"));
            CameraPosition Liberty = CameraPosition.builder().target(new LatLng(27.717245, 85.323960)).zoom(16).bearing(0).tilt(45).build();
            googleMap.moveCamera(CameraUpdateFactory.newCameraPosition(Liberty));

            googleMap.setMyLocationEnabled(true);


        }


        @Override
        public void onDirectionFinderStart() {
            progressDialog = ProgressDialog.show(getActivity(), "Please wait.",
                    "Finding direction..!", true);

            if (originMarkers != null) {
                for (Marker marker : originMarkers) {
                    marker.remove();
                }
            }

            if (destinationMarkers != null) {
                for (Marker marker : destinationMarkers) {
                    marker.remove();
                }
            }

            if (polylinePaths != null) {
                for (Polyline polyline:polylinePaths ) {
                    polyline.remove();
                }
            }
        }

        @Override
        public void onDirectionFinderSuccess(List<Route> routes) {
            progressDialog.dismiss();
            polylinePaths = new ArrayList<>();
            originMarkers = new ArrayList<>();
            destinationMarkers = new ArrayList<>();

            for (Route route : routes) {
                mGoogleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(route.startLocation, 16));
                ((TextView) getView().findViewById(R.id.tvDuration)).setText(route.duration.text);
                ((TextView) getView().findViewById(R.id.tvDistance)).setText(route.distance.text);

                originMarkers.add(mGoogleMap.addMarker(new MarkerOptions()
                        .icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_media_pause))
                        .title(route.startAddress)
                        .position(route.startLocation)));
                destinationMarkers.add(mGoogleMap.addMarker(new MarkerOptions()
                        .icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_media_play))
                        .title(route.endAddress)
                        .position(route.endLocation)));

                PolylineOptions polylineOptions = new PolylineOptions().
                        geodesic(true).
                        color(Color.BLUE).
                        width(10);

                for (int i = 0; i < route.points.size(); i++)
                    polylineOptions.add(route.points.get(i));

                polylinePaths.add(mGoogleMap.addPolyline(polylineOptions));
            }
        }
    }

You are missing "DirectionFinderListener" interface:

public class MapViewFragment extends Fragment implements OnMapReadyCallback, DirectionFinderListener 

Don't forget to add all the classes from Google map direction sample app: https://github.com/hiepxuan2008/GoogleMapDirectionSimple/tree/master/app/src/main/java/Modules

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM