0
我是一名初學者,開始時我創建了一個擁有多個工作站的收音機應用程序,但我遇到了一個問題。Java中的intents之間的難度(Android Studio)
當我爲收音機播放「Play」時,它開始播放,然後我回到先前的活動(電臺列表),當我再次回到正在播放的同一收音機並點擊「暫停」時,它將「不玩「。 (我做了一個烤麪包,所以當我在播放器沒有播放的時候點擊「暫停」時它擴散了「不播放」),但收音機仍然是「播放」。
下面是2個按鈕的代碼(播放和暫停):
btnPlayMFM.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (isOnline() == true) {
if (isPlaying() == false) {
Toast t = Toast.makeText(MosaiqueFM.this, "Loading \nPlease Wait", 10000);
t.show();
try {
mediaPlayer.reset();
mediaPlayer.setDataSource(stream_url);
mediaPlayer.prepareAsync();
mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.start();
}
});
} catch (IOException e) {
e.printStackTrace();
}
} else if (isPlaying() == true) {
Toast t2 = Toast.makeText(MosaiqueFM.this, "Playing", 2000);
t2.show();
}
}
if (isOnline() == false){
Toast t = Toast.makeText(MosaiqueFM.this, "Internet Connection Required", 3000);
t.show();
}
}
});
btnPauseMFM.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (isPlaying() == true) {
mediaPlayer.stop();
} else if (isPlaying() == false){
Toast t = Toast.makeText(MosaiqueFM.this, "Not Playing", 2000);
t.show();
}
}
});
public boolean isPlaying() {
return(mediaPlayer != null && mediaPlayer.isPlaying());
}
public boolean isOnline() {
cm = (ConnectivityManager) getSystemService(this.CONNECTIVITY_SERVICE);
return cm.getActiveNetworkInfo() != null && cm.getActiveNetworkInfo().isConnectedOrConnecting();
}
嗨,我編輯了您的問題,使其更具可讀性,並且我注意到您可能有錯誤。您在執行'btnPauseMFM.setOnClickListener'之前不要關閉'btnPlayMFM.setOnClickListener',因此您可以在爲播放按鈕設置偵聽器的部分中設置暫停按鈕的偵聽器。 –
另請閱讀[this指導](https://stackoverflow.com/help/how-to-ask)關於如何提出一個好問題,因爲它會覆蓋一些必要的細節,使問題成爲一個好問題。我注意到的是看起來你的標題並沒有解釋你的問題,而是解釋了爲什麼你發佈了你的問題。確保你的題目儘可能詳細地說明你的具體問題或問題。 –