由于发布的代码与有关该问题的代码不同,我已经解决了关于此事的最后一个问题,因此我将使用正确的代码重试...
事情是这样的,我一直在使用适用于 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/