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は2つの異なるタイプであるために発生します。上記のステートメントをキャストしたり、上記の問題を解決したりする正しい方法を誰かが私に提案できますか?お待ち頂きまして、ありがとうございます!

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 に答える