J'ai une simple lecture d'une fonction de fichier txt.
AssetManager mngr = getAssets();
InputStream is = mngr.open("textdb.txt");
Cela fonctionne de mon activité principale. Mais si j'utilise le même code dans une classe distincte, getAssets () renvoie simplement null/crash.
Je ne parviens pas à comprendre pourquoi cela fonctionne uniquement à partir de la classe principale.
Des idées?
Solution:
subClass.ReadSettings(getApplicationContext());
public String[] ReadSettings(Context myContext) {
}
Votre autre classe est-elle également un Activity
? getAssets () est une méthode de Context. Si votre classe n'est pas une activité, vous devrez lui passer un contexte, puis appeler getAssets à ce sujet.
Ainsi:
public myClass(Context myContext) {
AssetManager mngr = myContext.getAssets();
InputStream is = mngr.open("textdb.txt");
}