我正在尝试引用原始文件夹中的音乐,但有一些错误。有人说explosion cannot be resolved or is not a field
。任何人都可以告诉我可能是什么原因。
package com.app1;
import android.R;
import android.app.Activity;
import android.media.AudioManager;
import android.media.SoundPool;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
public class SoundStuff extends Activity implements OnClickListener {
SoundPool sp;
int explosion=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
View v= new View(this);
v.setOnClickListener(this);
setContentView(v);
sp=new SoundPool(5,AudioManager.STREAM_MUSIC,0);
**explosion=sp.load(SoundStuff.this, R.raw.explosion, 1);**
}
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
if(explosion!=0)
sp.play(explosion, 1, 1, 0, 0, 1);
}
}
代码在上面给出。显示错误的代码行已经标记。
答案 0 :(得分:6)
删除import android.R;
行。当您使用R.raw.explosion
时,表示android.R
中的R变量。
确保在使用R变量时,表示包中的变量:
答案 1 :(得分:0)
可以添加两种类型的R ..始终添加与您的包相关联的R ..