Java 订购:然后,激活按钮。。或之后,激活按钮

Java 订购:然后,激活按钮。。或之后,激活按钮,java,android,select,android-music-player,Java,Android,Select,Android Music Player,这就是工作流程 选择音乐时,我想要它 播放它,如果我在另一台上选择它,它将重置并停止播放 正在播放的剪辑,然后它将移动到另一个并播放它 问题:简单地说,这是三个代码。我想激活 激活前一个后一个 注意:我成功地添加了按下播放按钮的命令,但是如果我通过简单地选择打开来删除播放的第一个代码(重置和停止),则 列表中,但是它从不停止播放音乐,并且不停地堆在彼此的上面 代码部分已经完成 @覆盖 公共无效onItemClick(AdapterView AdapterView、View视图、int i、lon

这就是工作流程

选择音乐时,我想要它 播放它,如果我在另一台上选择它,它将重置并停止播放 正在播放的剪辑,然后它将移动到另一个并播放它

问题:简单地说,这是三个代码。我想激活 激活前一个后一个

注意:我成功地添加了按下播放按钮的命令,但是如果我通过简单地选择打开来删除播放的第一个代码(重置和停止),则 列表中,但是它从不停止播放音乐,并且不停地堆在彼此的上面

代码部分已经完成

@覆盖
公共无效onItemClick(AdapterView AdapterView、View视图、int i、long l){
view.setSelected(true);
sound.reset();
声音。停止();
btn_play.callOnClick();
sound=MediaPlayer.create(SoundActivity.this,listitems.get(i.sound));
setText(listitems.get(i.getTitle());
声音时间();
}
});
最终布尔值[]isPlay={false};
btn_play.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
如果(!sound.isPlaying()){
线程更新seekbar;
updateSeekBar=新线程(){
@凌驾
公开募捐{
int SoundDuration=sound.getDuration();
int CurrentPosition=0;
seekBar.setMax(声音持续时间);
while(当前位置<声音持续时间){
试一试{
睡眠(100);
CurrentPosition=sound.getCurrentPosition();
seekBar.setProgress(当前位置);
}捕捉(中断异常e){
e、 printStackTrace();
}
}
}
};
sound.start();
updateSeekBar.start();
}
感谢那些试图帮助我的人。我找到了一个非常简单的解决办法 经过努力和努力:>

我像这样向下移动(btn_play.callOnClick)

@覆盖
公共无效onItemClick(AdapterView AdapterView、View视图、int i、long l){
view.setSelected(true);
声音。停止();
sound.reset();
sound=MediaPlayer.create(SoundActivity.this,listitems.get(i.sound));
setText(listitems.get(i.getTitle());
声音时间();
btn_play.callOnClick();
}
});
现在我需要自动切换到下一个音乐


在调用sound.reset()之前调用sound.stop()是否有帮助?排序顺序的所有形式都已添加,我也尝试添加(sound.start),但不幸的是,当我单击(btn_play)时,它不起作用手动操作是没有问题的。问题是,当选择并单击时,如果您清楚地说明您正在尝试执行的操作(上下文)以及失败的位置,您可能会得到更好的答案
           sound.reset();
           sound.stop();
           btn_play.callOnClick();
 @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
            view.setSelected(true);
            sound.reset();
            sound.stop();
           btn_play.callOnClick();


            sound = MediaPlayer.create(SoundActivity.this, listitems.get(i).sound);
            tvTitle.setText(listitems.get(i).getTitle());
            SoundTime();

        }
    });



    final boolean[] isPlay = {false};
    btn_play.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            if (!sound.isPlaying()) {
                Thread updateSeekBar;
                updateSeekBar = new Thread() {
                    @Override
                    public void run() {
                        int SoundDuration = sound.getDuration();
                        int currentPostion = 0;
                        seekBar.setMax(SoundDuration);
                        while (currentPostion < SoundDuration) {
                            try {
                                sleep(100);
                                currentPostion = sound.getCurrentPosition();
                                seekBar.setProgress(currentPostion);

                            } catch (InterruptedException e) {
                                e.printStackTrace();
                            }
                        }
                    }
                };
                sound.start();
                updateSeekBar.start();
            }
            @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {

            view.setSelected(true);
            sound.stop();
            sound.reset();


            
            sound = MediaPlayer.create(SoundActivity.this, listitems.get(i).sound);
            tvTitle.setText(listitems.get(i).getTitle());
            SoundTime();
            btn_play.callOnClick();

        }
    });