我正在尝试完成@ www.developer.android.com/resources/tutorials/views/hello-mapview.html的安卓MapView教程
我认为我已经正确地完成了整个工作,但是在Eclipse中我收到了一条错误消息。我很确定为什么。有问题的代码行是
private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();我对Java比较陌生,但是我已经在论坛上看过很多不同的东西,对这个我真的一无所知。我附上了一个开发环境的屏幕截图-希望它不会太明显或太难修复!
http://www.limedomains.com/files/download/34780?dirname=&file_name=hellogooglemaps.jpg
干杯
Tom :)
**根据要求,此处提供了源代码和屏幕截图链接,并将其更新为正常运行的内容**
package com.example.hellogooglemaps;
import java.util.ArrayList;
import android.app.AlertDialog;
import android.content.Context;
import android.graphics.drawable.Drawable;
import com.google.android.maps.GeoPoint;
import com.google.android.maps.ItemizedOverlay;
import com.google.android.maps.Overlay;
import com.google.android.maps.OverlayItem;
private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();
public class HelloItemizedOverlay extends ItemizedOverlay{
public HelloItemizedOverlay(Drawable defaultMarker) {
super(boundCenterBottom(defaultMarker));
}
@Override
protected OverlayItem createItem(int i) {
return mOverlays.get(i);
}
public void addOverlay(OverlayItem overlay) {
mOverlays.add(overlay);
populate();
}
@Override
public int size() {
return mOverlays.size();
}
public HelloItemizedOverlay(Drawable defaultMarker, Context context) {
super(defaultMarker);
mContext = context;
}
@Override
protected boolean onTap(int index) {
OverlayItem item = mOverlays.get(index);
AlertDialog.Builder dialog = new AlertDialog.Builder(mContext);
dialog.setTitle(item.getTitle());
dialog.setMessage(item.getSnippet());
dialog.show();
return true;
}
}发布于 2011-05-06 21:43:11
您需要在类内部声明ArrayList,而不是在外部声明,如下所示:
public class HelloItemizedOverlay extends ItemizedOverlay {
private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();
}发布于 2010-05-05 06:38:01
您的屏幕截图无法阅读..请复制/粘贴logcat所说的内容...
对于个人使用,我使用以下代码: List mapOverlays;
https://stackoverflow.com/questions/2769020
复制相似问题