2016-10-20 6 views
1

Ich habe jetzt versucht, auf Bilder aus meinem Assets-Ordner zuzugreifen, anstatt sie zu zeichnen, um möglicherweise einige Speicherprobleme zu beheben, die ich habe.Welcher Teil der App wird als Kontext betrachtet? Die Java-Datei, die .xml oder ein Teil der einen oder anderen?

fand ich diesen Code mit diesem helfen:

public static Drawable getAssetImage(Context context, String filename) throws IOException { 
    AssetManager assets = context.getResources().getAssets(); 
    InputStream buffer = new BufferedInputStream((assets.open("drawable/" + filename + ".png"))); 
    Bitmap bitmap = BitmapFactory.decodeStream(buffer); 
    return new BitmapDrawable(context.getResources(), bitmap); 
} 

Ich bin verwirrt, was der Zusammenhang allerdings ist. Soll ich es meine MainActivity.java übergeben? Oder auf eine bestimmte Sicht verweisen? Wenn jemand das erklären könnte, würde ich es sehr schätzen.

Antwort

1

Ja, Sie können nur Ihre Aktivität übergeben, von der Sie diese Methode aufrufen.

+0

getAssetImage (MainActivity, "pilots_cropped_edited.png"); –

+0

, also bin ich in meiner MainActvitiy, aber es sagt "Ausdruck erwartet" wo ich MainActivity einsetze. Welchen Teil der Aktivität erwartet sie? @Roman Samolyenko –

+0

verwenden 'MainActivity.this'. wenn es in einer Aktivität ist. Wenn es ein Fragment ist. Verwenden Sie 'getContext()' –

Verwandte Themen