2010-11-12 71 views
2

如何使用资产?我有这样的代码:如何在Android中使用资产

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

它的接缝只能在Activity类中使用。如果我尝试在另一个类中使用上面的代码,我得到一个有关getAssets()的错误不是我的类的类型。

那么如何在不是活动的类中使用资产呢?

回答

2

你必须通过你想要使用你的活动的上下文的类。为了在你的活动中获得正确的背景,你需要做这样的事情。

private Context ctx = null; 

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

    MyClass myClass = new MyClass(ctx); 
} 

其中MyClass是您正在讨论的类。在你的类中你必须在你的类构造函数中处理上下文。

class MyClass { 
    Context ctx = null; 

    public MyClass(Context ctx) { 
     this.ctx = ctx; 
    } 
} 
相关问题