I can't seem to reference my image in the drawable folder. I have the image there however i keep getting an error stating that I cannot convert an int to Drawable. my R.java generated file has the string in there for the image however it is set as "public static final int restaurant=0x7f020001;"
package com.CS3040.Places;
import android.content.Context;
import android.graphics.BitmapFactory;
import android.graphics.drawable.Drawable;
import com.CS3040.*;
import com.CS3040.Coursework.R;
import com.google.android.maps.GeoPoint;
import com.google.android.maps.OverlayItem;
public class PlaceOverlayItem extends OverlayItem {
private final GeoPoint point;
private final Place place;
private final Drawable marker;
public PlaceOverlayItem(Place p, String type) {
super(p.getGeoPoint(), p.getName(), p.getFormatted_address());
if(type.equals("restaurant")){ this.marker = R.drawable.restaurant; }
//super.setMarker(this.marker);
this.point = p.getGeoPoint();
this.place = p;
}
/**
* @return the point
*/
public GeoPoint getPoint() {
return point;
}
/**
* @return the place
*/
public Place getPlace() {
return place;
}
}
You need to do as follows:
marker = getResources().getDrawable(R.drawable.restaurant);
The reason you get the message "The method getResources() is undefined for the type PlaceOverlayItem" is because getResources() is a method inherited from Context class, so you got to call it from an Activity (or so) or pass the context to your method.
Hope this helps
I think you want something like this:
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.restaurant);
this.marker = bitmap;
Or, using your solution:
marker = getResources().getDrawable(R.drawable.restaurant);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With