2016-03-22 19 views
1

Ich versuche, ein Singleton-Muster zu implementieren, aber wenn ich versuche, die Bitmap zu verwenden, um Bild zu erstellen, sagt es kann Methode getResources() nicht auflösen. Ich habe unten einen Beispielcode hinterlassen, was ich erreichen möchte.Wie implementiert man BitmapFactory in einem Singleton-Muster in Android Studio?

private static Singleton instance = null; 
public static synchronized Singleton getInstance(){ 
    if(instance == null){ 
     instance = new Singleton (BitmapFactory.decodeResource(getResources(), R.drawable.singleton_image), 142, 90, 4); 
    } 
    return instance; 
} 

Antwort

1

Ich weiß nicht, was Sie versuchen, mit dem zu tun, aber getResources() ist eine öffentliche Methode zur Verfügung, unter jedem Kontext (Aktivität, Service) jede Sache, die von Context erbt.

können Sie die Methode bearbeiten so seine

public static synchronized Singleton getInstance(Context context){ 
    if(instance == null){ 
     instance = new Singleton (BitmapFactory.decodeResource(context.getResources(), R.drawable.singleton_image), 142, 90, 4); 
    } 
    return instance; 
} 
+0

Ich habe bereits versucht, das zu tun, aber ich erhalte eine Fehlermeldung, dass ich nicht in Zusammenhang anwenden kann. Ich versuche, die Singleton-Muster zu erstellen implementieren der Hauptspieler in meinem Spiel, aber wenn ich versuche, das Bild zu zeichnen, erlaubt mir das Muster nicht, getResources() – Pikachu

+0

von BitmapFactory zu verwenden, wie hast du die Methode aufgerufen? –

+0

Die Methode getResources() ist eine in Android Studio integrierte Methode. Ich habe zuvor ähnlichen Code verwendet und es hat funktioniert, weil ich das Singleton-Muster verwendet habe. Ich denke, dass diese Methode nicht funktioniert. Ich habe versucht, nach einer Alternative zu suchen, aber ich kann noch keine finden. – Pikachu