У меня есть таймер обратного отсчета, который я изменил, чтобы подсчитать. Таймер продолжит работать в то же время, пока выдает процентное содержание для просмотра текста (ТВП). Ниже приведен код.
timer = new CountUpTimer(date3) {
public void onTick(int secondt) {
simpleDateFormat = new SimpleDateFormat ("HH:mm:ss");
tv_timer.setText(simpleDateFormat.format (secondt));
t1 = date3 - date;
percentage = Math.round (secondt/t1 *100);
tvp.setText ( percentage+"%" );
}
};timer.start();
Таймер работает в фоновом режиме, который я использую службы и приемник вещания, и он работает просто отлично. Проблема в том, что текстовое представление в процентах не обновляется и не запускается и застревает на последнем значении после нажатия кнопки назад. ниже приведен исполняемый код, используемый для обновления процентного просмотра текста.
getActivity ().runOnUiThread(new Runnable() {
@Override
public void run() {
tvp.setText ( percentage + "%" );
}
});
ниже приведен мой код обслуживания таймера
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
mpref = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
mEditor = mpref.edit();
mTimer.scheduleAtFixedRate(new TimeDisplayTimerTask(), 5, NOTIFY_INTERVAL);
intent = new Intent(str_receiver);
}
class TimeDisplayTimerTask extends TimerTask {
@Override
public void run() {
mHandler.post( () -> {
timerprogressupdate ();
} );
}
}
public String timerprogressupdate() {
fn_update ( IFTimer.secondt );
fn_updatep ( IFTimer.percentage );
return timerprogressupdate();
}
@Override
public void onDestroy() {
super.onDestroy();
Log.e("Service finish","Finish");
}
private void fn_update(long str_time){
intent.putExtra("time",str_time);
sendBroadcast(intent);
}
}
широковещательный приемник
private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String strDate = intent.getStringExtra("time");
}
};
Мне нужно обновить и запустить просмотр текста в процентах после того, как я нажму кнопку "Назад". У кого-нибудь есть решение по этому поводу? Буду признателен, если кто-нибудь сможет мне помочь.