java - 我如何使用 android 的 getResources

标签 java android android-mapview

我创建了一个从 Overlay 扩展的 MiOverlay 类。

而且它无法识别 getResources 方法。我该怎么办。这是我的类(class)的完整代码

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Point;
import android.location.Location;

import com.google.android.maps.MapView;
import com.google.android.maps.GeoPoint;
import com.google.android.maps.Overlay;


public class MiOverlay extends Overlay {
    GeoPoint point;

    public MiOverlay(GeoPoint point)
    {
        super();
        this.point = point;
    }

    @Override
    public boolean draw(Canvas canvas, MapView mapView, boolean shadow, long when){
        super.draw(canvas, mapView, shadow);
        Point scrnPoint = new Point();
        mapView.getProjection().toPixels(this.point, scrnPoint);
        Bitmap marker = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
        canvas.drawBitmap(marker, scrnPoint.x - marker.getWidth() / 2, scrnPoint.y - marker.getHeight() /2 , null);
        return true;
    }

最佳答案

我不同意 Luis Lavieri 的回答。最简单的解决方案是使用 MapView 的上下文:

Bitmap marker = BitmapFactory.decodeResource(mapView.getContext().getResources(), R.drawable.ic_launcher);

简单且无潜在的内存泄漏。

关于java - 我如何使用 android 的 getResources,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22925029/

相关文章:

java - jsf - 传递 FacesContext 或使用 getCurrentInstance()

python - 为什么要在 bash 脚本中嵌入 repo 命令?

java - ActionBar 向上按钮过渡效果

java - Android 中的心电计动画

android - 无法将 PopupWindow 背景设置为透明

Android map View setShowsUserLocation?

java - 在chrome不弹出窗口的情况下更改下载目录

java - Android Studio with libGdx(Java) - 音乐可以在 Android 模拟器上运行,但不能在桌面上运行

android - 带释放键的 MapView 仅显示空白页

java - 无法将客户端的时间戳发送到服务器