我正在尝试制作健身应用程序,我添加了一个计时器和一个铃音,应该在计时器完成后响铃。但是当计时器结束时,它不会响起,整个活动会自动返回到之前的状态(所有锻炼的列表)。这是我的代码
Java
countDownTimer = new CountDownTimer(60 * 1000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
String text = String.format(Locale.getDefault(), "%02d : %02d",
TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished) % 60,
TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished) % 60);
time.setText(text);
}
@Override
public void onFinish() {
mediaPlayer.start();
time.setText("01 : 00");
String txt = "Workout Completed";
nextWorkout.setVisibility(View.VISIBLE);
Toast.makeText(context, txt, Toast.LENGTH_LONG).show();
}
};
countDownTimer.start();
> Media Player code
mediaPlayer = MediaPlayer.create(getApplicationContext(), R.raw.alarm);
答案 0 :(得分:0)
这里的问题是您给了Toast错误的上下文。
Toast.makeText(context, txt, Toast.LENGTH_LONG).show();
这是问题所在。在此处检查上下文。