Android。触发onLocationChanged时更新主要活动显示(在不同的类中)

时间:2011-03-09 21:48:17

标签: android gps

我是Android和Java编程的新手,我正在尝试构建一个需要最佳GPS位置的应用程序。

我的方法是创建一个MyLocation(基于我在互联网上找到的代码),这个类设置两个监听器(GPS和网络)并有一个计时器,然后在时间结束时返回最佳位置。我的问题是我真的不知道如何将位置返回到我的主要活动,并在位置更新时触发我的视图刷新

@Override
public void onLocationChanged(Location location) {
    currentLocation = location;
    Log.d("GPS Listener - OnLocationChanged", String.valueOf(currentLocation.getLatitude()));
}

在我的主要活动中,我有以下内容 ...

//Start Updates
if(myLocation.startUpdates(GPSTest.this)){
   ...
}

//Update Position
public void updatePosition() {
 myTextView1...
}

当我在MyLocation类中触发onLocationChanged()方法时,我想在我的主要活动(GPSTest)中调用UpdatePosition()方法

我的想法是使用处理程序和回调,但我不确定如何实现它。这是一种正确的方法,如果是的话,是关于如何实现这一点的任何建议。

感谢您的反馈,

马塞尔

1 个答案:

答案 0 :(得分:0)

我认为这是正确的做法。

您应该在主类中创建处理程序,并定义它在调用时应该执行的操作,然后将其传递给MyLocaion类/对象。在onLocationChanged()方法中,您应该向处理程序发送消息(handler.send(msg)