Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/16: Рейтинг темы: голосов - 16, средняя оценка - 4.75
Spelcrawler
531 / 501 / 113
Регистрация: 12.03.2014
Сообщений: 1,666
Завершенные тесты: 1
1

Отключить мультитач

19.03.2014, 21:17. Просмотров 2960. Ответов 3
Метки нет (Все метки)

Здравствуйте. Как сделать так чтобы не обрабатывались касания если их больше одного? Тоесть есть 10 кнопок с одинаковым листенером нужно сделать так чтобы нельзя было нажать одновременно больше одной кнопки. Пробовал в листенере отключить все кнопки при нажатии одной, а через некоторе время опять включить. Если нажимать по одной то кнопки на время отключаются, но если нажать сразу по двум, то нажимаются обе.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2014, 21:17
Ответы с готовыми решениями:

мультитач зум
накидал тут мультитач зум, но не могу разобраться, как заставить изображение в...

Маштабирование мультитач
Здравствуйте! Хотел спросить имеется фотография которая увеличивается с центра...

Мультитач на всех версиях Android
Здравствуйте. Как мне известно мультитач появился начиная с Android 2.0. я хочу...

Каким образом мультитач определяет второе и последующее касание?
Уважаемы форумчане, есть какое то объяснение по такому вопросу? Каким...

Как отключить экран?
Добрый день, возможно ли как-нибудь отключить экран, но чтобы телефон не...

3
angryrobot
Командир зеленых роботов
348 / 285 / 54
Регистрация: 08.10.2013
Сообщений: 565
19.03.2014, 22:31 2
Цитата Сообщение от Spelcrawler Посмотреть сообщение
Тоесть есть 10 кнопок с одинаковым листенером нужно сделать так чтобы нельзя было нажать одновременно больше одной кнопки.
Все ваши кнопки должны быть внутри одного контейнера для которого свойство splitMotionEvents установлено в false. Вот пример :

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" 
    android:splitMotionEvents="false">
 
    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button" 
        android:onClick="onClick"/>
 
    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button" 
        android:onClick="onClick"/>
 
    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button" 
        android:onClick="onClick"/>
 
</LinearLayout>
2
Spelcrawler
531 / 501 / 113
Регистрация: 12.03.2014
Сообщений: 1,666
Завершенные тесты: 1
19.03.2014, 22:49  [ТС] 3
Попробовал. Если нажимать одновременно, то работает хорошо. Но вот если немножко задержать второй палец, все равно срабатывают обе. Решил проблему переносом всего с onClick на onTouch и при нажатии на кнопку остальные на время отключаются примерно так:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
for(int i = 0; i < 10; i++){
                    
                    
                    
                    btn[i].setEnabled(false);
                    
                    
                }
 
 
//
//Тут код для кнопки
//
 
 
 
Handler handler = new Handler(); 
                handler.postDelayed(new Runnable() { 
                     public void run() { 
                           
                           for(int i = 0; i <10; i++){                  
                                                                        
                            btn[i].setEnabled(true);  
                                                                        
                           }                                            
                     } 
                }, 200);

Это нормально вообще?))
0
angryrobot
Командир зеленых роботов
348 / 285 / 54
Регистрация: 08.10.2013
Сообщений: 565
19.03.2014, 22:55 4
Лучший ответ Сообщение было отмечено Spelcrawler как решение

Решение

Цитата Сообщение от Spelcrawler Посмотреть сообщение
Это нормально вообще?))
Не очень
Уж лучше в момент прикосновения к кнопке запрещать клики по остальным, а когда палец убирают - снова разрешать. (Это теория, я не проверял как это будет работать на деле)
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.03.2014, 22:55

Как отключить яркость?
Как можно реализовать данную программу? ...

Как отключить рекламу?
Как отключить рекламу на сутки после одного нажатия пользователя

Как отключить Google Now?
Кто знает, как запретить приложению вызываться долгим тапом на кнопке home в...


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

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

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