Java Android:从您创建的类中获取声音资源(R.raw.sound)

Java Android:从您创建的类中获取声音资源(R.raw.sound),java,android,runtime,media-player,r.java-file,Java,Android,Runtime,Media Player,R.java File,嗨,我得到一个找不到资源的错误。没有gradle错误,它能够编译。但在运行时-找不到资源 我所做的是: ClassA-具有int变量声音的getter和setter ClassB-传递数据-int-R.raw.sound ClassActivity—检索数据并将其作为soundObject变量传递给MediaPlayer对象 //Class Activity int soundObject; ClassB classB = new ClassB(); //to access the Class

嗨,我得到一个找不到资源的错误。没有gradle错误,它能够编译。但在运行时-找不到资源

我所做的是:

ClassA-具有int变量声音的getter和setter ClassB-传递数据-int-R.raw.sound ClassActivity—检索数据并将其作为soundObject变量传递给MediaPlayer对象

//Class Activity
int soundObject;
ClassB classB = new ClassB();

//to access the ClassA, I have a method in ClassB that enables me to access it - name getClassA(int soundNumber);

ClassA classA = classB.getClassB(0);

soundObject = classA.getSoundResource();
MediaPlayer sound = MediaPlayer.create(this, soundObject);

sound.start()

我做的有什么不对?我应该把它引用到资源而不是它吗。我最初尝试使用Resource,但Android Studio建议我使用int。

您需要将soundObject初始化为适当的资源。@akash93,我已经在ClassB中初始化了它,我只是尝试从ClassB中提取数据并将其传递给变量soundObject。但是传递给MediaPlayer的soundObject不是在ClassB中初始化的soundObject,如果这是整个代码的话。。ClassActivity中的soundObject引用了一个必须设置其值的新变量。我可能遗漏了一些东西,但这就是我从您发布的代码中所能推断的。@akash93,我遗漏了在代码中添加它。但我已经更新了。