2012-06-01 2 views
3

Depuis que je suis à ma dernière question éclaté au sujet de cette question en raison de l'affichage d'un code différent de celui concernant le problème que je vais essayer à nouveau avec le bon code ...getDrawable retour null

Alors, voici la Je faisais des tests avec l'API GoogleMaps pour Android et quand j'essayais de configurer un CustomItemizedOverlay sur ma carte en utilisant une de mes images, j'ai remarqué que lorsque j'utilisais getDrawable pour accéder à mon image, il revenait Même si l'éclipse elle-même me montre mon image est là quand j'utilise ctrl + backspace lors de la sélection de quel drawable je souhaite accéder:/

Depuis plusieurs heures, je passe la tête à travers le mur. Des indices sur ce qui ne va pas ici?

Merci d'avance :)

PS: impression montrant cette éclipse montre mon image à l'intérieur des ressources quand j'utilise ctrl + backspace http://img.photobucket.com/albums/v328/thiagoshaman/errordrawable.png

code:

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; 
} 

}

+0

Utilisez-vous une extension dans votre image autre que .png, .jpg ou .gif? Il peut ne pas reconnaître d'autres types d'extension. [http://developer.android.com/guide/topics/resources/drawable-resource.html](http://developer.android.com/guide/topics/resources/drawable-resource.html) –

+0

Nope :(son .png:/ – thiagocfb

Répondre

3

Essayez d'avoir l'image dans toutes les qualités étirables dossiers (drawable-hdpi/drawable-LDPI etc.)

Il se peut que l'émulateur ou le périphérique que vous utilisez ait une densité différente et tente d'extraire des images d'un autre dossier.

+0

Hmm bonne ideia! Essayé cela maintenant mais ne fonctionnant toujours pas:/et le problème n'affecte pas 1 image, je ne peux pas atteindre n'importe quelle image dans mes ressources, jamais vu ceci se produire avant :/ – thiagocfb

+0

@ThiagoCoelhoFarinazzoBalduc Quel est le format de l'image? Essayez également d'avoir l'image dans le dossier parent drawable – Monokh

+0

Mon image est un PNG, je vais essayer de mettre dans/Drawable et voir si cela fonctionne! Merci! – thiagocfb

0

Essayez mettre

import your.project.package.R; 

dans vos importations, et assurez-vous que votre R dans

R.drawable.android_tiny_image 

est montrant cette

+0

Toujours pas fonctionné :(sérieusement, cela n'a pas de sens! x_x http://img.photobucket.com/albums/v328/thiagoshaman/errordrawable.png Voir? Eclipse lui-même montre que mon l'image est là mais elle retourne toujours – thiagocfb

0

J'ai aussi rencontré ce problème et semble être dans la documentation est une explication du problème, si je comprends bien Resources.getDrawable()