Android: ничего не происходит на создание - PullRequest
0 голосов
/ 24 августа 2010

Я получил этот класс, и внутри onCreate ничего не происходит?Разве он не вызывается автоматически при инициализации?

Код ниже, спасибо большое!- Micheal

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;
}
}

В результате «неожиданно остановилось приложение. Пожалуйста, попробуйте еще раз».Если я инициализирую строку некоторым набором символов вместо нуля, он останется таким же.Разве он не должен делать то, что находится внутри onCreate (), и вносить эти изменения?

1 Ответ

1 голос
/ 24 августа 2010

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 );


...