getAssets();从另一个班级

时间:2011-12-10 17:28:23

标签: android assets

我有一个简单的读取txt文件的功能。

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

它适用于我的主要活动。但是如果我在一个单独的类中使用相同的代码,getAssets()只返回null / crash。

我无法找到为什么它只适用于主类。

有什么想法吗?

解决方案:

subClass.ReadSettings(getApplicationContext());

public String[] ReadSettings(Context myContext) {
}

1 个答案:

答案 0 :(得分:59)

你的其他班级也是Activity吗? getAssets()是Context的一种方法。如果您的类不是活动,则需要将上下文传递给它,然后在其上调用getAssets。

像这样:

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