gpt4 book ai didi

java - 将参数传递给 onProgressUpdate 时出现问题 - 异步方法

转载 作者:行者123 更新时间:2023-12-01 15:44:25 24 4
gpt4 key购买 nike

我有一个异步方法,可以在 Google map View 上放置标记。在下面的代码中,我尝试将对象 overrideitem 传递到 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);
}
}

最佳答案

这样就可以了:

itemizedOverlay.addOverlay(overlayitem[0]); 

说明:OverlayItem... 称为 varargs并且是呈现类型的数组。

关于java - 将参数传递给 onProgressUpdate 时出现问题 - 异步方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7380950/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com