如何从另一个类的onLocationChanged()调用活动中的方法

时间:2016-01-04 23:54:53

标签: java android gps location

我知道如何从其他类调用方法,但在这种情况下它似乎不起作用。我可能弄错了,但我尝试了几件事,没有成功。以下是相关的简化代码:

MainActivity.java:

private void getForecast(final GPSTracker gpsTracker) {
             // something
}

GPSTracker.java:

@Override
public void onLocationChanged(Location location) {
            // call getForecast() here
}

我基本上想要做的是在用户启用位置后获取预测数据。现在,在启动应用程序检测到该位置被禁用时,将用户定向到设置以启用它,但在用户启用它并返回应用程序后,没有任何更改。应用程序不明白位置已更改,因此我假设onLocationChanged()是要走的路。如果需要,我可以提供其余的代码。提前谢谢。

1 个答案:

答案 0 :(得分:-1)

首先,您需要关注getForecast方法的Access Modifier。你不能从另一个java类调用getForecast()。

<强>编辑: 您需要将访问修饰符从私有更改为公共:

public void getForecast(final GPSTracker gpsTracker) {
             // something
}

还要确保调用函数requestLocationUpdates