Проблема передачи аргумента в onProgressUpdate - метод асинхронной обработки - PullRequest
0 голосов
/ 12 сентября 2011

У меня есть асинхронный метод, который ставит маркеры в Google Map View.В приведенном ниже коде я пытаюсь передать объект overlayitem в метод onProgressUpdate.Я получаю сообщение об ошибке компилятора, что itemizedOverlay.addOverlay не ожидает массив.Я запутался, почему overlayitem передается как массив (т.е. overlayitem []).Кто-нибудь может помочь?

  class OverlayLoader extends AsyncTask<Void, OverlayItem, Void> {
    List<Overlay> mapOverlays;

    @Override
    protected void onPreExecute() {
        mapOverlays = mapView.getOverlays();
    }

    @Override
    protected Void doInBackground(Void... params) {
        SQLiteDatabase db = mDbHelper.getReadableDatabase();

        Cursor mCursor = db.query(TABLE_NAME, null, null, null, null, null, null);

        startManagingCursor(mCursor);

        OverlayItem overlayitem = null;

        while (mCursor.moveToNext()) {

            Address = mCursor.getString(4);
            Name = mCursor.getString(0);

            String noSpaces = Address.replaceAll(" ", "+");

            JSONObject geocoded = getLocationInfo(noSpaces);
            GeoPoint point = getGeoPoint(geocoded);

            overlayitem = new OverlayItem(point, Name, Address);

            publishProgress(overlayitem);
        }
        return null;
        }

    protected void onProgressUpdate(OverlayItem... overlayitem) {
        List<Overlay> mapOverlays = mapView.getOverlays();
        String x = "@Hello";
        Log.e("Hello",""+x);
        Drawable drawable = maptabview.this.getResources().getDrawable(R.drawable.pushpin);
        CustomizedItemOverlay itemizedOverlay = 
            new CustomizedItemOverlay(drawable, maptabview.this);   

        itemizedOverlay.addOverlay(overlayitem); 
        mapOverlays.add(itemizedOverlay);
    }
}

1 Ответ

1 голос
/ 12 сентября 2011

Это сделает это:

itemizedOverlay.addOverlay(overlayitem[0]); 

Объяснение: OverlayItem... называется varargs и является массивом представленного типа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...