0

緯度と経度の値を s に戻したいのですが、EditTextを使用してそれを行うことができましたToastが、EditText. 親切に助けて

       // EditText latEditText = (EditText)findViewById(R.id.lat);
//EditText lngEditText = (EditText)findViewById(R.id.lng);

protected void showCurrentLocation(){
    Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
    if (location != null){
        String message = String.format(
                                   "Current Location \n Longitude: %1$s \n Latitude: %2$s",
                                   location.getLongitude(), location.getLatitude()
                           );
                           Toast.makeText(LayActivity.this, message,
                                   Toast.LENGTH_LONG).show();
        //latEditText.setText(nf.format(location.getLatitude()).toString());
        //lngEditText.setText(nf.format(location.getLongitude()).toString());
    }
}

private class MyLocationListener implements LocationListener{

    @Override
    public void onLocationChanged(Location location) {
        // TODO Auto-generated method stub
        String message = String.format(
                  "New Location \n Longitude: %1$s \n Latitude:  %2$s",
                  location.getLongitude(), location.getLatitude()
                  );
               Toast.makeText(LayActivity.this, message, Toast.LENGTH_LONG).show();


        //latEditText.setText((int) location.getLatitude());
        //lngEditText.setText((int) location.getLongitude());

    }
4

1 に答える 1

1

latEditTextおよび変数がクラス全体のスコープを持っている限りlngEditText、Activity に LocationListener を実装させることができます。

public class Example extends Activity implements LocationListener

そして、これは機能します:

public void onCreate(Bundle savedInstanceState) {
    ...
    Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
    if(location != null)
        displayLocation(location);
}

public void onLocationChanged(Location location) {
    if(location != null) 
        displayLocation(location);
}

public void displayLocation(Location location) {
        latEditText.setText(location.getLatitude() + "");
        lngEditText.setText(location.getLongitude() + "");
    }
}

要求通り

Soxxeh は、コメントアウトされたコードが setText() に整数を渡していることを指摘しました。これは、リソース (strings.xml 内の文字列に対する一意の ID など) を参照します。上記のメソッドのように、または を使用して setText() に実際の文字列を渡したいとしsetText(String.valueOf(location.getLatitude()))ます。

それが役立つことを願っています。

于 2012-06-26T19:35:11.913 に答える