1

我正在尝试在单击时加载 MapView,Activitybutton由于加载整个活动需要一些时间,并且用户觉得有些地方出了问题。

所以我尝试使用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