1

我是Java的初学者。这个问题可能很愚蠢,但请帮忙!我创建了 TextView 类型的 tvlat 和 tvlong 作为全局对象。

public TextView tvlat;
public TextView tvlong;

当我在以下代码中使用它们时:

public class MyLocationListener implements LocationListener
{   

    public void onLocationChanged(Location loc)
    {
        loc.getLatitude();
        loc.getLongitude();
        String Text = "Current location : " +
        "Lattitude = " + loc.getLatitude() +
        "Longitude = " + loc.getLongitude();
        Toast.makeText( getApplicationContext(), Text,  Toast.LENGTH_SHORT).show();

        tvlat.setText(“”+loc.getLatitude());
        tvlong.setText(“”+loc.getLongitude());

它说 TextView 类型中的 setText(char sequence) 不适用于代码的 arguments(double):

tvlat.setText(“”+loc.getLatitude());
tvlong.setText(“”+loc.getLongitude());

显然,这是因为 tvlat 和 loc 是两种不同的类型。任何人都可以建议我提出上述陈述或解决上述问题的正确方法吗?谢谢你的耐心!

4

2 回答 2

3

报价格式很奇怪,它不同于". 你可以试试:

tvlat.setText(String.valueOf (loc.getLatitude()));
tvlong.setText(String.valueOf(loc.getLongitude()));
于 2013-01-06T16:45:13.487 回答
1

采用

tvlat.setText(Double.toString(loc.getLatitude()));
tvlong.setText(Double.toString(loc.getLongitude()));

获取 Double 的字符串表示形式

于 2013-01-06T16:44:36.640 回答