作者sweet00914 (别理我)
看板AndroidDev
标题[问题] 播放音档之间如何控制Button Enable?
时间Tue Aug 7 17:30:10 2012
问题:
有一按钮当按钮按下时,播放音档且按钮的状态要变成不可触发。当音档
播放完毕时,将按钮的状态变成可触发。但是,下述程式码会在音档播放完成
後才按钮的状态变成不可触发,请问这是为什麽呢?
Code:
btn.setEnabled(false);
playmp3(am, 档名);
while (mp.isPlaying() == true)
{
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
break;
补充:
上述程式码是在
btn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
//Code
}
});
---------------------------------------------------------
尝试:
btn.setEnabled(false);
playmp3(am, 档名);
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
发现按钮的状态在设定的3秒後才改变,并非按下按钮後就立即改变。
================================================================
Sol:
new Thread(new Runnable() {
public void run() {
while (mPlayer.isPlaying()==true) {
try {
Message msg = new Message();
msg.what=0;
handler.sendMessage(msg);
Thread.sleep(500);
} catch (Exception e) {
e.printStackTrace();
}
}
Message msg = new Message();
msg.what=1;
handler.sendMessage(msg);
}
}).start();
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.130.55.241
※ 编辑: sweet00914 来自: 220.130.55.241 (08/07 17:46)
1F:→ jacktoad:我看不到你哪时候要执行btn.setEnabled(true); 08/07 17:48
※ 编辑: sweet00914 来自: 220.130.55.241 (08/07 17:57)
2F:→ givemepass:Thread+Handler 就解决了! 08/07 20:26
3F:→ sweet00914:由衷感谢。0.0 08/07 22:24
※ 编辑: sweet00914 来自: 114.38.42.45 (08/07 22:27)