有没有办法做到这一点...... R.Id。“字符串”?

时间:2016-01-16 16:33:03

标签: android

我的Res文件夹中有一个名为“raw”的文件夹,其中包含一些短音轨,屏幕显示几个按钮。

我希望能够像这样启动MediaPlayer ......

String[] track = {"track1", "track2", "track3", etc...}

mPlayer = MediaPlayer.create(this, R.raw.track[x]);

问题在于R.raw.track[x]

有没有办法以我正在尝试的方式做到这一点,还是我需要一种全新的方法?

提前感谢您提出的任何建议。

1 个答案:

答案 0 :(得分:2)

我将在此假设您的x是一个索引,可能来自track的用户选择。

您有两个主要选择:

  1. 拥有相应的int[] {R.raw.track1, R.raw.track2, ...}并按此方式查找R.raw

  2. Use getResources().getIdentifier()在运行时查找标识符

  3. 第二个选项更容易,但使用反射,所以不是超快。在你的情况下,这应该不重要,因为我怀疑你是在紧密循环中查找这些ID。