我在res/raw文件夹中有一个名为“book1tabs.txt”的文件,但通常我不知道它的名称。然后我必须做如下事情:
InputStream in = this.mCtx.getResources().openRawResource(R.raw.book1tabs);
但是我想使用一个字符串变量,比如
String param = "book1tabs";
并且能够打开相同的输入流。
有办法吗?
谢谢
最佳答案
你可以这样做
String param = "book1tabs";
InputStream in = this.mCtx.getResources().openRawResource(mCtx.getResources().getIdentifier(param,"raw", mCtx.getPackageName()));
getIdentifier()
将返回您传递的特定参数的id fromR.java
。具体的做法如下
映射包名称
导航到您提供的typedef
查找在typedef中提供的资源名称
更多信息http://developer.android.com/reference/android/content/res/Resources.html