Android 应用程序 - 定位服务的 @Override 方法出错
Android App - Error In @Override Method for Location Services
我正在尝试编写一个 Android 交付应用程序。很大一部分是找到移动设备的当前位置。
我遵循的所有教程都给出了我无法弄清楚或理解的相同错误,我是 Android 开发的新手。
我收到的错误是 "Error:(76, 5) error: method does not override or implement a method from a supertype"。
我的代码:
public class LoginActivity extends AppCompatActivity {
protected LocationManager locationManager;
protected LocationListener locationListener;
protected Context context;
String tempLocation;
String lat;
String provider;
protected String latitude,longitude;
protected boolean gps_enabled,network_enabled;
public static String pName;
public static String pID;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
//Get Input
etUsername = (EditText) findViewById(R.id.txtLoginUserName);
etPassword = (EditText) findViewById(R.id.txtLoginPassword);
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, (LocationListener) this);
}
@Override
public void onLocationChanged(Location location) {
tempLocation = "Latitude:" + location.getLatitude() + ", Longitude:" + location.getLongitude();
TextView lg = (TextView) findViewById(R.id.txtLoginUserName);
lg.setText(tempLocation);
}
@Override
public void onProviderDisabled(String provider) {
Log.d("Latitude","disable");
}
@Override
public void onProviderEnabled(String provider) {
Log.d("Latitude","enable");
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
Log.d("Latitude","status");
}
我的结果日志:
Error:(76, 5) error: method does not override or implement a method from a supertype
Error:(83, 5) error: method does not override or implement a method from a supertype
Error:(88, 5) error: method does not override or implement a method from a supertype
Error:(93, 5) error: method does not override or implement a method from a supertype
:app:compileDebugJavaWithJavac FAILED
Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.
Information:BUILD FAILED
Information:Total time: 1.661 secs
Information:5 errors
Information:0 warnings
Information:See complete output in console
我正在使用这个tutorial。
任何帮助或建议将不胜感激,因为我尝试使用许多不同的答案但到目前为止没有真正帮助。
您的 class 中缺少以下 implements LocationListener
...
使用这样的东西
class LocationActivity extends AppCompatActivity implements LocationListener{
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public void onLocationChanged(Location location) {
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onProviderDisabled(String provider) {
}
}
然后您将能够实现您想要的....希望它对您有所帮助
可能重复:
参考这个post @GoodDisplayName
我正在尝试编写一个 Android 交付应用程序。很大一部分是找到移动设备的当前位置。
我遵循的所有教程都给出了我无法弄清楚或理解的相同错误,我是 Android 开发的新手。
我收到的错误是 "Error:(76, 5) error: method does not override or implement a method from a supertype"。
我的代码:
public class LoginActivity extends AppCompatActivity {
protected LocationManager locationManager;
protected LocationListener locationListener;
protected Context context;
String tempLocation;
String lat;
String provider;
protected String latitude,longitude;
protected boolean gps_enabled,network_enabled;
public static String pName;
public static String pID;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
//Get Input
etUsername = (EditText) findViewById(R.id.txtLoginUserName);
etPassword = (EditText) findViewById(R.id.txtLoginPassword);
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, (LocationListener) this);
}
@Override
public void onLocationChanged(Location location) {
tempLocation = "Latitude:" + location.getLatitude() + ", Longitude:" + location.getLongitude();
TextView lg = (TextView) findViewById(R.id.txtLoginUserName);
lg.setText(tempLocation);
}
@Override
public void onProviderDisabled(String provider) {
Log.d("Latitude","disable");
}
@Override
public void onProviderEnabled(String provider) {
Log.d("Latitude","enable");
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
Log.d("Latitude","status");
}
我的结果日志:
Error:(76, 5) error: method does not override or implement a method from a supertype
Error:(83, 5) error: method does not override or implement a method from a supertype
Error:(88, 5) error: method does not override or implement a method from a supertype
Error:(93, 5) error: method does not override or implement a method from a supertype
:app:compileDebugJavaWithJavac FAILED
Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.
Information:BUILD FAILED
Information:Total time: 1.661 secs
Information:5 errors
Information:0 warnings
Information:See complete output in console
我正在使用这个tutorial。
任何帮助或建议将不胜感激,因为我尝试使用许多不同的答案但到目前为止没有真正帮助。
您的 class 中缺少以下 implements LocationListener
...
使用这样的东西
class LocationActivity extends AppCompatActivity implements LocationListener{
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public void onLocationChanged(Location location) {
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onProviderDisabled(String provider) {
}
}
然后您将能够实现您想要的....希望它对您有所帮助
可能重复:
参考这个post @GoodDisplayName