Java 方法不重写它的方法';超级级
我只是从某个地方复制了这段代码,当我试图运行它时,它说方法不会重写它的超类中的方法。我是java继承的新手。请帮助我理解这一点。我怎样才能解决这个问题?最后两个@override方法显示此错误Java 方法不重写它的方法';超级级,java,android,inheritance,overriding,Java,Android,Inheritance,Overriding,我只是从某个地方复制了这段代码,当我试图运行它时,它说方法不会重写它的超类中的方法。我是java继承的新手。请帮助我理解这一点。我怎样才能解决这个问题?最后两个@override方法显示此错误 public class MapViewFragment extends Fragment implements OnMapReadyCallback { private Button btnFindPath; private EditText etOrigin;
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));
}
}
}
公共类MapViewFragment扩展了MapReadyCallback上的片段实现{
专用按钮btnFindPath;
私家编辑;
专用编辑文本目的地;
私有进程对话;
private List originMarkers=new ArrayList();
private List destinationMarkers=new ArrayList();
私有列表polylinepath=new ArrayList();
谷歌地图;
地图视图;
视图视图;
公共MapViewFragment(){
//必需的空公共构造函数
}
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
}
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
//为该碎片膨胀布局
mView=充气机。充气(R.layout.fragment\u map\u视图,容器,false);
btnFindPath=(按钮)getView().findviewbyd(R.id.btnFindPath);
etOrigin=(EditText)getView().findViewById(R.id.etOrigin);
etDestination=(EditText)getView().findViewById(R.id.etDestination);
btnFindPath.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
sendRequest();
}
});
返回mView;
}
私有void sendRequest(){
字符串origin=etOrigin.getText().toString();
String destination=etDestination.getText().toString();
if(origin.isEmpty()){
Toast.makeText(getActivity(),“请输入源地址!”,Toast.LENGTH\u SHORT.show();
返回;
}
if(destination.isEmpty()){
Toast.makeText(getActivity(),“请输入目标地址!”,Toast.LENGTH\u SHORT.show();
返回;
}
试一试{
新的DirectionFinder(getActivity(),origin,destination).execute();
}捕获(不支持的编码异常e){
e、 printStackTrace();
}
}
@凌驾
已创建视图上的公共void(视图,捆绑保存状态){
super.onViewCreated(视图,savedInstanceState);
mMapView=(MapView)mView.findviewbyd(R.id.map);
如果(mMapView!=null){
mMapView.onCreate(空);
mMapView.onResume();
mMapView.getMapAsync(this);
}
}
@凌驾
4月1日公开作废(谷歌地图谷歌地图){
初始化(this.getActivity());
mGoogleMap=谷歌地图;
googleMap.setMapType(googleMap.MAP\u TYPE\u NORMAL);
googleMap.addMarker(newMarkeroptions().position(new-LatLng(27.717245,85.323960)).title(“Yo-ho加德满都大学”).snippet(“我在这里学习”);
CameraPosition Liberty=CameraPosition.builder().target(新车床)(27.717245,85.323960)).zoom(16).方位(0).倾斜(45).build();
googleMap.moveCamera(CameraUpdateFactory.newCameraPosition(Liberty));
googleMap.setMyLocationEnabled(true);
}
@凌驾
public void onDirectionFinderStart(){
progressDialog=progressDialog.show(getActivity(),“请稍候”,
“寻找方向…”,没错);
if(originMarkers!=null){
用于(标记:原始标记){
marker.remove();
}
}
if(destinationMarkers!=null){
用于(标记:目的地标记){
marker.remove();
}
}
if(多段线路径!=null){
用于(多段线多段线:多段线路径){
polyline.remove();
}
}
}
@凌驾
public void onDirectionFinderSuccess(列出路由){
progressDialog.disclose();
polylinePaths=新的ArrayList();
originMarkers=newarraylist();
destinationMarkers=new ArrayList();
用于(路线:路线){
mGoogleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(route.startLocation,16));
((TextView)getView().findviewbyd(R.id.tvDuration)).setText(route.duration.text);
((TextView)getView().findviewbyd(R.id.tvdestance)).setText(route.distance.text);
添加(mGoogleMap.addMarker)(新标记选项()
.icon(BitmapDescriptorFactory.fromResource(R.drawable.ic\u media\u pause))
.标题(路线、起始路线)
位置(路线,位置);;
add(mGoogleMap.addMarker(newmarkeroptions())
.icon(BitmapDescriptorFactory.fromResource(R.drawable.ic\u media\u play))
.title(route.endAddress)
.位置(路线.终点位置));
PolylineOptions PolylineOptions=新的PolylineOptions()。
测地线(真)。
颜色(颜色,蓝色)。
宽度(10);
对于(int i=0;i
您缺少“DirectionFinderListener”界面:
public class MapViewFragment extends Fragment implements OnMapReadyCallback, DirectionFinderListener
不要