is_there_something_wrong
@is_there_something_wrong
java - падаван, SEO

Не сохраняется обработка нажатия onClick, как сохранить?

Логика приложения: открываешь -> нажимаешь на кнопку -> появляется текст из БД и запускается обратный отсчет -> после истечения времени появляется возможность снова нажать на кнопку

Проблема: сделал так, что таймер сохраняется, т.е. после закрытия приложения таймер продолжает идти НО при повторном открытии появляется кнопка и только после ее нажатия появляется таймер с соответствующим значением

Нужно: чтобы при повторном открытии, не было видно кнопку, а оставался виден идущий таймер и сообщение из БД

Код:
@Override
            public void onClick(final View v) {

                String product = "";
                Cursor cursor = mDb.rawQuery("SELECT * FROM Guru ORDER BY RANDOM() LIMIT 1;", null);
                cursor.moveToFirst();
                while (!cursor.isAfterLast()) {
                    product = cursor.getString(1);
                    cursor.moveToNext();
                }
                cursor.close();


                textView.setText(product);
                v.setVisibility(View.GONE);


                final long timer = 12 * 60 * 60 * 1000 - (guruTime+guruSeve.getLong("TIME2",0));

                v.postDelayed(new Runnable() {
                    public void run() {

                        v.setVisibility(View.VISIBLE);
                    }
                }, timer);


                final SharedPreferences.Editor editor = guruSeve.edit();
                editor.putLong("TIME2",guruTime+guruSeve.getLong("TIME2",0));
                editor.commit();



                new CountDownTimer(timer,1000) {



                    public void onTick(long millisUntilFinished) {

                        mTimer.setText( "Осталось:" + " " + DateUtils.formatElapsedTime(millisUntilFinished / 1000));

                    }


                    public void onFinish() {

                        mTimer.setText("");

                    }


                }
                        .start();
                guruTime=System.currentTimeMillis();
                SharedPreferences.Editor editor2 = guruSeve.edit();
                editor2.putLong("TIME",guruTime);
                editor2.commit();



            }
        });

    }

}


Подскажите как сделать плиз. Может быть также как и сохранение значения в таймер? Но у меня не получилось... =(
  • Вопрос задан
  • 50 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
АКМЭ сервис Санкт-Петербург
от 80 000 до 110 000 руб.
Webbankir Москва
До 200 000 руб.
Рокетбанк Москва
До 190 000 руб.
21 авг. 2019, в 18:58
100 руб./за проект
21 авг. 2019, в 18:32
5000 руб./за проект
21 авг. 2019, в 18:21
1000 руб./за проект