Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.65
SERGEY199100
20 / 20 / 0
Регистрация: 29.10.2009
Сообщений: 430
#1

Срабатывание кнопки при удержании ее на определенное время - Программирование Android

14.08.2013, 10:08. Просмотров 2358. Ответов 6
Метки нет (Все метки)

Добрый день,
Подскажите, как организовать таймер, который по удержанию кнопки N-ое время сработает ? Например чтобы кнопка сработала нужно ее держать 3 секунды. Что-то в этом роде.

Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.08.2013, 10:08     Срабатывание кнопки при удержании ее на определенное время
Посмотрите здесь:
Android Постоянная отправка сообщений при удержании кнопки
Закрыть диалог во время выполнения процесса (принудительное срабатывание dismiss() Android
Android Notification в определенное время
Android Notification в определенное время суток
Android Отправка смс в определенное время
Android Выключение службы через определенное время
Android Нужно, чтобы при отмеченном чекбоксе кнопки работали, а при снятии флажка переставали работать
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
14.08.2013, 10:34     Срабатывание кнопки при удержании ее на определенное время #2
а стандартный лонг клик лысенер не подходит?
SERGEY199100
20 / 20 / 0
Регистрация: 29.10.2009
Сообщений: 430
14.08.2013, 11:05  [ТС]     Срабатывание кнопки при удержании ее на определенное время #3
Подходит, а как он работает, как ему задать время после которого кнопка сработает при условии что мы ее держим ?
YAUHEN
146 / 128 / 6
Регистрация: 29.07.2008
Сообщений: 506
14.08.2013, 11:22     Срабатывание кнопки при удержании ее на определенное время #4
если вам надо регулировать время срабатывания то скорее всего стандартные клик листнеры не помогут.
вы можете создать Handler и слать в него delayed меcаджи из onClickListener. и после нужной вам задержки они будут обрабатываться:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
    MyHandler handler = new MyHandler();
    
    OnClickListener mClickListener = new OnClickListener() {
        
        @Override
        public void onClick(View v) {
            handler.sendEmptyMessageDelayed(MY_MSG, 100500);
        }
    };
    
    private int MY_MSG = 100500;
    
    class MyHandler extends Handler {
 
        @Override
        public void handleMessage(Message msg) {
            if(msg.what == MY_MSG) {
                //handle click
            }
            super.handleMessage(msg);
        }
        
    }
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
14.08.2013, 22:42     Срабатывание кнопки при удержании ее на определенное время #5
Цитата Сообщение от SERGEY199100 Посмотреть сообщение
как ему задать время после которого кнопка сработает при условии что мы ее держим ?
а стандартное поведение вас не устраивает?
Java
1
button.setOnLongClickListener(...);
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
15.08.2013, 09:51     Срабатывание кнопки при удержании ее на определенное время #6
Цитата Сообщение от YAUHEN Посмотреть сообщение
если вам надо регулировать время срабатывания то скорее всего стандартные клик листнеры не помогут.
вы можете создать Handler и слать в него delayed меcаджи из onClickListener. и после нужной вам задержки они будут обрабатываться:...
Выглядит красиво, но кажется не правильно обрабатывает именно ДЛИННЫЙ клик. Нажали - отправили сообщение и запустили "таймер". А если не дождались и сделали короткий клик? Тут скорее нужно поймать нажатие, засечь время и ловить отжатие. Если отжали ДО интервала, то отказываемся, если интервал прошел а мы не отпустили кнопку - своя обработка...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.08.2013, 10:58     Срабатывание кнопки при удержании ее на определенное время
Еще ссылки по теме:
Android Неверное срабатывание блока с условием
Одновременное срабатывание onTouch и onItemLongClick Android
Вылет при нажатии кнопки Android
Зависает программа при нажатии кнопки Android
Дизайн кнопки при наведении, нажатии Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
YAUHEN
146 / 128 / 6
Регистрация: 29.07.2008
Сообщений: 506
15.08.2013, 10:58     Срабатывание кнопки при удержании ее на определенное время #7
Цитата Сообщение от Tester64 Посмотреть сообщение
Выглядит красиво, но кажется не правильно обрабатывает именно ДЛИННЫЙ клик. Нажали - отправили сообщение и запустили "таймер". А если не дождались и сделали короткий клик? Тут скорее нужно поймать нажатие, засечь время и ловить отжатие. Если отжали ДО интервала, то отказываемся, если интервал прошел а мы не отпустили кнопку - своя обработка...
да, вы правы, я наверное не сразу понял что нужно. по сути в данной ситуации можно использовать мой подход, но только будет нменого сложнее. надо вешать тач листнер и на события ACTION_UP ACTION_DOWN останавливать и запускать сообщения в хандлер
Yandex
Объявления
15.08.2013, 10:58     Срабатывание кнопки при удержании ее на определенное время
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru