0

このクラスを取得しましたが、onCreate内で何も発生していませんか?初期化時に自動的に呼び出されませんか?

コードは下にあります、どうもありがとう!-ミシェル

package com.michealbach.livedrops;

import java.io.IOException;
import java.util.List;
import java.util.Locale;

import android.app.Activity;

public class AnyClass extends Activity {

double latitude = 0; 
double longitude = 0;

String addressString = "Address Initialized";
String postalString = null;

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    postalString = "Why doesn't this String change happen at all?";

  }


public double getLongitude() {
    return longitude;
}

public double getLatitude() {
    return latitude;
}

public String getAddress() {
    return addressString;
}
public String getPostal() {
    return postalString;
}
}

これを行うと、「アプリケーションが予期せず停止しました。再試行してください」という結果になります。文字列をnullではなく文字のセットに初期化すると、そのままになります。onCreate()内にあることを実行して、その変更を行うべきではありませんか?

4

1 に答える 1

1

onLocationChanged()は、プログラム内の単なるクラスメソッドであり、何にも接続されていません。あなたはしなければならない


private final LocationListener locationListener = new LocationListener() {

        @Override
        public void onLocationChanged(Location location) {

             // Do stuff

            }


        @Override
        public void onProviderDisabled(String provider) {

        }

        @Override
        public void onProviderEnabled(String provider) {

        }

        @Override
        public void onStatusChanged(String provider, int status, Bundle extras) {

        }

    };


そして、onCreate()で


LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
cr = new Criteria();
cr.setPowerRequirement(Criteria.POWER_LOW);
cr.setAccuracy(Criteria.ACCURACY_FINE);
provider = lm.getBestProvider(cr,true);
lm.requestLocationUpdates(provider, minTIME, minDISTANCE, locationListener );


于 2010-08-23T21:53:21.387 に答える