2010-11-12 4 views
2

Comment utiliser les ressources? J'ai ce code:Comment utiliser les ressources dans Android

AssetManager assets = getAssets(); 
InputStream stream = assets.open("test.txt"); 

Il semble ne pouvoir être utilisé que dans une classe d'activité. Si j'essaye d'employer le code ci-dessus dans une autre classe j'obtiens une erreur au sujet de getAssets() n'est pas un type pour ma classe.

Alors, comment utiliser les ressources dans une classe qui n'est pas une activité?

Répondre

2

Vous devez passer cette classe que vous souhaitez utiliser le contexte de votre activité. Pour obtenir le bon contexte dans votre activité, vous faites quelque chose comme ça.

private Context ctx = null; 

public void onCreate(Bundle bundle) { 
    super.onCreate(bundle); 
    // your other code 
    ctx = getApplication(); 

    MyClass myClass = new MyClass(ctx); 
} 

Où MyClass est la classe dont vous parlez. Dans votre classe, vous devez gérer le contexte dans votre constructeur de classes.

class MyClass { 
    Context ctx = null; 

    public MyClass(Context ctx) { 
     this.ctx = ctx; 
    } 
} 
Questions connexes