1

ActivityクリックされたときにMapViewをロードしようとしてbuttonいますが、アクティビティ全体をロードするのに少し時間がかかり、ユーザーが何かがおかしいと感じているためです。

だから私は使用しようとしましAsyncTaskたが、次の例外が発生します:

原因:java.lang.RuntimeException:Looper.prepare()を呼び出していないスレッド内にハンドラーを作成できません

これが私のコードです:

@Override
protected String doInBackground(Void... arg0) {
            // TODO Auto-generated method stub              

            locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
            geoHandler=  new GeoUpdateHandler();

                    //Getting error over here 
            locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0,
                    0, geoHandler);

            return null;
        }


 @Override
 protected void onPreExecute() {

        mapView.setBuiltInZoomControls(true);

        mapOverlays = mapView.getOverlays();
        mapController=mapView.getController();
        mapController.setZoom(16);                  
     }

@Override
 protected void onPostExecute(String str) {

                // first overlay
        drawable = getResources().getDrawable(R.drawable.marker);
        itemizedOverlay = new SimpleItemizedOverlay(drawable, mapView);     
    }

私はそれを解決することができません。

4

0 に答える 0