android - getDrawable 返回 null

标签 android resources nullpointerexception getresource

由于发布的代码与有关该问题的代码不同,我已经解决了关于此事的最后一个问题,因此我将使用正确的代码重试...

事情是这样的,我一直在使用适用于 Android 的 GoogleMaps API 运行一些测试,当我尝试使用我的一张图片在我的 map 上设置 CustomItemizedOverlay 时,我注意到当我使用 getDrawable 来访问我的图像它返回 null 即使 eclipse 本身显示我的图像在那里,当我使用 ctrl + 退格键选择我希望访问的可绘制对象时:/

因此,我已经在墙上撞了好几个小时了。关于这里出了什么问题的任何线索?

提前致谢:)

PS:当我使用 ctrl + backspace http://img.photobucket.com/albums/v328/thiagoshaman/errordrawable.png 时,打印显示 eclipse 在资源中显示我的图像

代码:

import java.util.List;

import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.os.Bundle;

import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;
import com.google.android.maps.Overlay;
import com.google.android.maps.OverlayItem;

public class MapHandlerActivity extends MapActivity {


private MapView mapView;
private static final int latitudeE6 = 37985339;
private static final int longitudeE6 = 23716735;


/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //setContentView(R.layout.main);
    setContentView(R.layout.maphandler);

    mapView = (MapView) findViewById(R.id.map_view);      
    mapView.setBuiltInZoomControls(true);

    List<Overlay> mapOverlays = mapView.getOverlays();
    Resources res = this.getResources();
    Drawable drawable = res.getDrawable(R.drawable.android_tiny_image);
    CustomItemizedOverlay itemizedOverlay = new CustomItemizedOverlay(drawable, this);
    GeoPoint point = new GeoPoint(latitudeE6, longitudeE6);
    OverlayItem overlayItem = new OverlayItem(point, "Olá", "Estou em Athena, Grécia!");

    itemizedOverlay.addOverlay(overlayItem);
    mapOverlays.add(itemizedOverlay);

    MapController mapController = mapView.getController();

    mapController.animateTo(point);
    mapController.setZoom(6);
}
@Override
protected boolean isRouteDisplayed() {
    return true;
}

最佳答案

尝试将图像放入所有可绘制质量文件夹(drawable-hdpi/drawable-ldpi 等)

可能是您使用的模拟器或设备具有不同的密度,并且正在尝试从另一个文件夹中提取图像。

关于android - getDrawable 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10852711/

相关文章:

http - 应如何在 RESTful API 中检索 transient 资源

resources - 是否有针对代理类型工作的敏捷流程?日程安排问题

java - 添加 TextChangedListener 时应用崩溃

java - 使用Seek Bar缩放android Canvas

java - Android 应用程序更新版本在 keystore 中有 2 个不同的别名

java - 从 jar 中读取资源文件

java - 使用 2D 对象数组 java 的 NPE

java - 创建Session时getCurrentSession返回null

android - 一次性确定用户位置(通过 GPS)的正确控制流程是什么?

android - 将录音上传到mysql并在网站上播放