这个代码怎么了?

时间:2011-01-03 16:11:12

标签: android

我正在尝试获取移动设备的当前GPS位置。我正在使用模拟器我已经使用DDMS给模拟器提供了位置,但是我在屏幕上什么也没得到,我也没有任何错误。

public class getitright extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    LocationManager lm=(LocationManager)this.getSystemService(Context.LOCATION_SERVICE);
    LocationListener ll=new LocationListener(){
        public void onLocationChanged(Location l)
        {
            go(l);
        }

        @Override
        public void onProviderDisabled(String provider) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onProviderEnabled(String provider) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onStatusChanged(String provider, int status,
                Bundle extras) {
            // TODO Auto-generated method stub

        }

    };
    lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, ll);
}
    public void go(Location l){ 
    TextView tv=(TextView)findViewById(R.id.tv1);
    tv.setText(""+l.getLatitude());
    }


}

1 个答案:

答案 0 :(得分:0)

首先输入一些日志消息。

但其次。您不应该将TextView或LocationListener声明为类似的局部变量。那些都应该是成员变量。通过声明您的locationlistener,您将失去对它的引用。这可能是问题,但如果不是,您仍然无法从管理器中删除locationlistener,因为您没有引用。

你确定你的文本视图甚至可以显示吗?尝试将其设置为onCreate中的静态内容,以确保

还要向{/ p>添加@Override语句

    public void onLocationChanged(Location l)
    {
        go(l);
    }

只是为了100%确定你实际上覆盖了这个方法。