是否可以创建一个像这样的字符串
public String pos1="bloodstone";
然后在Mediaplayer之类的地方使用它:
Mediaplayer s1;
s1 = MediaPlayer.create(this, R.raw.pos1);
s1.start();
因此,如果我修改
pos1="fireagate"
,它将实际上抢到R.raw.fireagate
最佳答案
使用getIdentifier()
:
String pos1 = "bloodstone";
int rawId = getResources().getIdentifier(pos1, "raw", getPackageName());
Mediaplayer s1 = MediaPlayer.create(this, rawId);
此代码段假定您处于活动的某个方法中,如果您的代码位于活动之外的某个地方,则
getResources()
和getPackageName()
是Context
上的方法。关于java - 是否可以使用字符串在Java的raw中调用文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57539666/