Java 为原始资源分配资源ID
我在Android Studio的res/raw目录中有不同的.mp4视频。我想给它们分配ID,以便以后可以访问它们 这是我当前代码的一个片段:Java 为原始资源分配资源ID,java,android-studio,resources,Java,Android Studio,Resources,我在Android Studio的res/raw目录中有不同的.mp4视频。我想给它们分配ID,以便以后可以访问它们 这是我当前代码的一个片段: public Level(Context c){ ArrayList<Trial> trials = new ArrayList<Trial>(); String packagename = this.getClass().getPackage().getName(); String[] genders = {"ma
public Level(Context c){
ArrayList<Trial> trials = new ArrayList<Trial>();
String packagename = this.getClass().getPackage().getName();
String[] genders = {"male", "female"};
String[] age = {"young", "old"};
for (int i = 0; i < genders.length; i++) {
for (int j = 0; j < age.length; j++) {
int tempId = c.getResources().getIdentifier("android.resource://" + packagename + "raw/" +genders[i] + "_" + age[j], "raw", packagename);
Trial t = new Trial();
t.setResourceID(tempId);
trials.add(t);
}
}
.
.
.
}
两个例子都不起作用。tempId
的值始终为零
非常感谢您的帮助。第二个更接近正确。但是,从开头删除
“raw/”
。除此之外,我们需要知道确切的文件名。我也试过了,忘了提。也不管用。文件名:例如“female_old.mp4”。所有的名字都比这复杂一点,但我确信这个名字总是拼写正确。我只是不知道如何正确地访问原始资源。好吧,你的想法是对的,如果一切都正确的话,这肯定会起作用。您确定这些资源已成功构建吗?我的意思是,如果你试着在代码中使用R.raw.female\u old
是否有效?另外,您确定packagename
是正确的,并且可能不是空的吗?很抱歉,回复太晚了。将尝试检查资源是否正确生成。是的,我确信packagename是正确的。谢谢你的建议!第二个更接近正确。但是,从开头删除“raw/”
。除此之外,我们需要知道确切的文件名。我也试过了,忘了提。也不管用。文件名:例如“female_old.mp4”。所有的名字都比这复杂一点,但我确信这个名字总是拼写正确。我只是不知道如何正确地访问原始资源。好吧,你的想法是对的,如果一切都正确的话,这肯定会起作用。您确定这些资源已成功构建吗?我的意思是,如果你试着在代码中使用R.raw.female\u old
是否有效?另外,您确定packagename
是正确的,并且可能不是空的吗?很抱歉,回复太晚了。将尝试检查资源是否正确生成。是的,我确信packagename是正确的。谢谢你的建议!
int tempId = c.getResources().getIdentifier("raw/" +genders[i] + "_" + age[j], "raw", packagename);