gpt4 book ai didi

java - if/else 和 switch 语句的问题

转载 作者:行者123 更新时间:2023-12-02 00:49:11 24 4
gpt4 key购买 nike

下面的代码是处理名为clash的按钮的ACTION_DOWN和ACTION_UP事件。这个想法是,一旦 if/else 确定 onTouch 事件是由冲突引起的,那么 switch 语句就会根据操作确定要做什么。我不知道问题是否在于 switch 语句没有返回 true,这可能与问题有关。当我添加返回时,Eclipse 说代码无法访问,我不明白。我的印象是,你无法不中断地打破开关。

实际发生的情况是第一个声音将循环播放,但代码似乎从未检测到释放按钮时的 Action ,因此声音会永远播放。任何帮助将不胜感激。

 public boolean onTouch(View v, MotionEvent event) {
MediaPlayer mp = MediaPlayer.create(getBaseContext(), R.raw.clash);
if (v.getId() == R.id.clash){

switch (event.getAction()){

case MotionEvent.ACTION_DOWN:
mp.setLooping(true);
mp.start();
break;

case MotionEvent.ACTION_UP:
mp.pause();
break;
}

}
return true;
}
});

最佳答案

//Add the following line in the code before your setOnTouchListener()
MediaPlayer mp;

public boolean onTouch(View v, MotionEvent event) {

if (v.getId() == R.id.clash){

switch (event.getAction()) {

case MotionEvent.ACTION_DOWN:
mp = MediaPlayer.create(getBaseContext(), R.raw.clash);
mp.setLooping(true);
mp.start();
break;

case MotionEvent.ACTION_UP:
if(mp != null)
{
mp.pause();
mp.release();
}
break;
}
}
}

// I'm assuming this was from the onTouchListener()? -> });

只是一个想法。

关于java - if/else 和 switch 语句的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3927393/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com