Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.65
SERGEY199100
204 / 20 / 1
Регистрация: 29.10.2009
Сообщений: 430
#1

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

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

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

Спасибо.
http://www.cyberforum.ru/android-dev/thread1120512.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.08.2013, 10:08
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Срабатывание кнопки при удержании ее на определенное время (Программирование Android):

Закрыть диалог во время выполнения процесса (принудительное срабатывание dismiss()
Всем привет! В приложении есть диалоговое окно с кнопкой, по нажатию которой...

Notification в определенное время
Проблема вызова Notification при помощи AlarmManager. public void...

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

Выполнение задания в определенное время
Здравствуйте. Вопрос такой. Как правильно реализовать выполнение какого нибудь...

Notification в определенное время суток
Я создал уведомление, которое срабатывает по нажатию кнопки, сразу. Что нужно...

6
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
14.08.2013, 10:34 #2
а стандартный лонг клик лысенер не подходит?
0
SERGEY199100
204 / 20 / 1
Регистрация: 29.10.2009
Сообщений: 430
14.08.2013, 11:05  [ТС] #3
Подходит, а как он работает, как ему задать время после которого кнопка сработает при условии что мы ее держим ?
0
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);
        }
        
    }
1
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
14.08.2013, 22:42 #5
Цитата Сообщение от SERGEY199100 Посмотреть сообщение
как ему задать время после которого кнопка сработает при условии что мы ее держим ?
а стандартное поведение вас не устраивает?
Java
1
button.setOnLongClickListener(...);
0
Tester64
396 / 357 / 46
Регистрация: 22.05.2013
Сообщений: 2,518
15.08.2013, 09:51 #6
Цитата Сообщение от YAUHEN Посмотреть сообщение
если вам надо регулировать время срабатывания то скорее всего стандартные клик листнеры не помогут.
вы можете создать Handler и слать в него delayed меcаджи из onClickListener. и после нужной вам задержки они будут обрабатываться:...
Выглядит красиво, но кажется не правильно обрабатывает именно ДЛИННЫЙ клик. Нажали - отправили сообщение и запустили "таймер". А если не дождались и сделали короткий клик? Тут скорее нужно поймать нажатие, засечь время и ловить отжатие. Если отжали ДО интервала, то отказываемся, если интервал прошел а мы не отпустили кнопку - своя обработка...
0
YAUHEN
146 / 128 / 6
Регистрация: 29.07.2008
Сообщений: 506
15.08.2013, 10:58 #7
Цитата Сообщение от Tester64 Посмотреть сообщение
Выглядит красиво, но кажется не правильно обрабатывает именно ДЛИННЫЙ клик. Нажали - отправили сообщение и запустили "таймер". А если не дождались и сделали короткий клик? Тут скорее нужно поймать нажатие, засечь время и ловить отжатие. Если отжали ДО интервала, то отказываемся, если интервал прошел а мы не отпустили кнопку - своя обработка...
да, вы правы, я наверное не сразу понял что нужно. по сути в данной ситуации можно использовать мой подход, но только будет нменого сложнее. надо вешать тач листнер и на события ACTION_UP ACTION_DOWN останавливать и запускать сообщения в хандлер
0
15.08.2013, 10:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.08.2013, 10:58
Привет! Вот еще темы с решениями:

Выключение службы через определенное время
Нужно, чтобы после получения широковещательного сообщения о новом СМС...

Срабатывание оповещения в определенное время
Доброго времени суток. Не могли бы вы подсказать, как сделать так, чтобы...

Срабатывание скрипта через определенное время
Подскажите как можно сделать так что бы определенный скрипт срабатывал после...

Срабатывание события в определенное время (будильник)
Вот в чем дело) Я сделал календарь с заметками, но не могу настроить...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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