Java 安卓工作室“;从未使用分配给MediaPlayer的值null;
我在安卓工作室遇到了问题。我正在制作一个音板,我想让我的MediaPlayer在播放完毕后为空。我已经在完整的侦听器上创建了一个,但是在侦听器内部,当我将我的MediaPlayer设置为null时,studio会声明一条警告:“从未使用分配给“mp”的null值。”Java 安卓工作室“;从未使用分配给MediaPlayer的值null;,java,android,Java,Android,我在安卓工作室遇到了问题。我正在制作一个音板,我想让我的MediaPlayer在播放完毕后为空。我已经在完整的侦听器上创建了一个,但是在侦听器内部,当我将我的MediaPlayer设置为null时,studio会声明一条警告:“从未使用分配给“mp”的null值。” 我还有其他四种类似的方法,除了在点击时播放不同的声音。我可能犯了一个明显的错误,但如果有人能帮助我,我将不胜感激。这是因为onCompletion方法中的mp参数正在隐藏您试图修改的mp成员变量。实际上,您正在将参数设置为null,
我还有其他四种类似的方法,除了在点击时播放不同的声音。我可能犯了一个明显的错误,但如果有人能帮助我,我将不胜感激。这是因为
onCompletion
方法中的mp
参数正在隐藏您试图修改的mp
成员变量。实际上,您正在将参数设置为null,这在这里是无用的。您希望改为修改阴影实例
使用与成员变量不冲突的其他变量名,或者使用外部类名作为限定符引用成员(例如
MyActivity.this.mp
,如果外部类是MyActivity)。在XML中Playuptus()拼写是否正确?:)是的。我的问题已经回答了。谢谢你的帮助!
public void playUpToUs (View view) {
if (mp == null){
mp = MediaPlayer.create(this, R.raw.its_up_to_us);
mp.start();
mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
mp.release();
mp = null;
}
});
} else {
mp.release();
mp=null;
}
}