webentwicklung-frage-antwort-db.com.de

getAssets (); aus einer anderen Klasse

Ich habe einfach eine txt-Datei Funktion gelesen.

AssetManager mngr = getAssets();
InputStream is = mngr.open("textdb.txt");

Es funktioniert von meiner Haupttätigkeit. Wenn ich jedoch denselben Code in einer separaten Klasse verwende, gibt getAssets () einfach null/crash zurück.

Ich kann nicht herausfinden, warum es nur in der Hauptklasse funktioniert.

Irgendwelche Ideen?

Lösung:

subClass.ReadSettings(getApplicationContext());

public String[] ReadSettings(Context myContext) {
}
28
jonassvensson

Ist Ihre andere Klasse auch eine Activity? getAssets () ist eine Kontextmethode. Wenn Ihre Klasse keine Aktivität ist, müssen Sie einen Kontext übergeben und dann getAssets aufrufen.

Wie so:

public myClass(Context myContext) {
    AssetManager mngr = myContext.getAssets();
    InputStream is = mngr.open("textdb.txt");
}
59