Задать вопрос
is_there_something_wrong
@is_there_something_wrong
java - падаван, SEO

Как поставить таймер на кнопку в java?

Есть код, который выводит сообщение после нажатия кнопки, необходимо после этого нажатия скрывать кнопку и на ее месте запускать таймер на 24 часа, после чего кнопка опять появляется.

Может кто подскажет материалы как это реализовать? Гугл не помог мне!

Мне не понятно - работа с этим таймером. Как его поставить и потом возвращать кнопку? Как при скрытии кнопки отображать на ее месте таймер и затем скрывать таймер?

Сейчас есть код который выводит при нажатии сообщение и затем скрывает кнопку.
@Override
            public void onClick(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);


            }
        });
  • Вопрос задан
  • 537 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
@red-barbarian
в onClick делаешь
time = Date().getTime() + 24*60*60*1000
записываешь time в sherepreferences
делаешь кнопку невидимой, а TextView - видимым и запускаешь посылку сообщений о котором ниже.

при создании (или в onStart) активити считываешь данные из sharepreferences либо берешь time (смотря что актуальнее) и запускаешь посылку сообщений через handler (handler.postDelay например каждые 1000 милисек )
в каждом обработчике сообщения выставляешь в TextView оставшееся время
Date().getTime - time (красиво переведя все в часы и минуты)
Если Date().getTime()> time , то делаешь кнопку видимой, TextView скрытой. Посылку сообщений останавливаешь.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@klim76
android/java/sql
делаете sharedpreference в него пишите boolean - флаг отрисовки, после нажатия флаг делаете falce и запускаете таймер или задачу в планировщик по срабатываю - переписываем sharedpreference в true.
ну и в отрисовку впилить проверку этого флага куда нибудь в onResme
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы