我有一个简单的阅读txt文件功能。
AssetManager mngr = getAssets();
InputStream is = mngr.open("textdb.txt");
它从我的主要 Activity 中起作用。但是,如果我在单独的类中使用相同的代码,则getAssets()仅返回null /崩溃。
我无法找到为什么它只能在主要类(class)上使用。
有任何想法吗?
解决方案:
subClass.ReadSettings(getApplicationContext());
public String[] ReadSettings(Context myContext) {
}
最佳答案
您的其他类(class)也是Activity
吗?
getAssets()是上下文的一种方法。如果您的类(class)不是 Activity ,则需要向其传递上下文,然后在该上下文上调用getAssets。
像这样:
public myClass(Context myContext) {
AssetManager mngr = myContext.getAssets();
InputStream is = mngr.open("textdb.txt");
}