Использование Edittext для таймера обратного отсчета - PullRequest
0 голосов
/ 28 апреля 2018

Я нашел код для таймера обратного отсчета, но значение составляет 10 секунд. я хочу получить значения из Edittext, это код

private static final long TIMER_LENGHT = 10; // Ten seconds
    private long mTimeToGo;
    private CountDownTimer mCountDownTimer;
    private TimerState mState;

Я сделал это

Edittext1 et1 = (EditText)findViewById(R.id.Edittext1);
String strInput = et1.getText().toString();
private static final long TIMER_LENGHT = et1; 
private long mTimeToGo;
private CountDownTimer mCountDownTimer;
private TimerState mState;

но это не сработало, что я могу сделать, чтобы заставить его работать * это полный код, который я использую

1 Ответ

0 голосов
/ 28 апреля 2018

Не должно ли это:

private static final long TIMER_LENGHT = et1;

быть:

private static final long TIMER_LENGHT = Long.parseLong(strInput);

EDIT:

Сначала измените TIMER_LENGTH на:

  private long TIMER_LENGHT = 0;

Мы начнем с 0 и позже, когда мы нажмем кнопку, мы изменим ее:

@OnClick(R.id.main_timer_button)
    public void onButtonClicked() {
        if  (mState == TimerState.STOPPED) {
            mPreferences.setStartedTime(getNow());
            EditText et1 = (EditText)findViewById(R.id.et1);
            String strInput = et1.getText().toString().trim();
            TIMER_LENGHT = Long.parseLong(strInput);
            startTimer();
            mState = TimerState.RUNNING;
        }
    }
...