首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android :您好,查看>谷歌地图查看教程

Android :您好,查看>谷歌地图查看教程
EN

Stack Overflow用户
提问于 2010-05-05 05:12:45
回答 2查看 945关注 0票数 0

我正在尝试完成@ www.developer.android.com/resources/tutorials/views/hello-mapview.html的安卓MapView教程

我认为我已经正确地完成了整个工作,但是在Eclipse中我收到了一条错误消息。我很确定为什么。有问题的代码行是

代码语言:javascript
复制
private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();

我对Java比较陌生,但是我已经在论坛上看过很多不同的东西,对这个我真的一无所知。我附上了一个开发环境的屏幕截图-希望它不会太明显或太难修复!

http://www.limedomains.com/files/download/34780?dirname=&file_name=hellogooglemaps.jpg

干杯

Tom :)

**根据要求,此处提供了源代码和屏幕截图链接,并将其更新为正常运行的内容**

代码语言:javascript
复制
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;
    }
}
EN

回答 2

Stack Overflow用户

发布于 2011-05-06 21:43:11

您需要在类内部声明ArrayList,而不是在外部声明,如下所示:

代码语言:javascript
复制
public class HelloItemizedOverlay extends ItemizedOverlay {

    private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();
}
票数 2
EN

Stack Overflow用户

发布于 2010-05-05 06:38:01

您的屏幕截图无法阅读..请复制/粘贴logcat所说的内容...

对于个人使用,我使用以下代码: List mapOverlays;

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2769020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档