是否可以创建一个像这样的字符串

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/

10-09 04:00