0

次の非同期クラスを使用してダイアログを表示し、ユーザーの現在の場所を取得していますが、上記のエラーが発生しています。

ProgressDialog progressDialog;

class LoadJsonTask extends AsyncTask<Void, Void, Void> {
      protected void onPreExecute() {
      progressDialog = ProgressDialog.show(NewTraveler.this, "", "Loading...");
    }

@Override
protected Void doInBackground(Void... arg0) {
try {
         // Acquire a reference to the system Location Manager
        LocationManager locationManager = (LocationManager) this
                    .getSystemService(Context.LOCATION_SERVICE);

    // Define a listener that responds to location updates
        LocationListener locationListener = new LocationListener() {
            public void onLocationChanged(Location location) {
                latitude = location.getLatitude();
                longitude = location.getLongitude();

                System.out.println("Latitude:- " + latitude);
                System.out.println("Longitude:- " + longitude);
        }

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

        public void onProviderEnabled(String provider) {
        }

        public void onProviderDisabled(String provider) {
        }
    };

    // Register the listener with the Location Manager to receive
    // location
    // updates
    locationManager.requestLocationUpdates(
            LocationManager.NETWORK_PROVIDER, 0, 0, locationListener);

        } catch (Exception e) {
                System.out.println("error ".getMessage());
            }

        return null;
    }

    @Override
    protected void onPostExecute(Void result) {
        progressDialog.dismiss();
    }
}

私の onCreate メソッドでは、
new LoadJsonTask().execute();を使用して上記のクラスを呼び出しています。

私を助けてください。

4

1 に答える 1

1

これを使って

// Define a listener that responds to location updates
        LocationListener locationListener = new LocationListener() {
            public void onLocationChanged(Location location) {
                latitude = location.getLatitude();
                longitude = location.getLongitude();

                System.out.println("Latitude:- " + latitude);
                System.out.println("Longitude:- " + longitude);
        }

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

        public void onProviderEnabled(String provider) {
        }

        public void onProviderDisabled(String provider) {
        }
    };

doInBackground メソッドの外側。

于 2012-09-26T08:17:04.863 に答える