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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 29, средняя оценка - 4.69
razer89
15 / 15 / 0
Регистрация: 20.06.2010
Сообщений: 142
#1

Обработка onTouchEvent в Activity - Программирование Android

14.11.2012, 02:29. Просмотров 4089. Ответов 6
Метки нет (Все метки)

Хочу в активити обрабатывать все прикосновения, независимого от того, были ли они на кнопке или на свободном пространстве. Однако после переопределения метода onTouchEvent, который, по идее, должен обрабатывать ВСЕ прикосновения, ничего не происходит. В чем подвох?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class EditActivity extends Activity
{   
    protected void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
        requestWindowFeature (Window.FEATURE_NO_TITLE);
    }
    
    @Override
    public boolean onTouchEvent (MotionEvent event)
    {
        System.out.println("Touch!");
        return true;
    }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2012, 02:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Обработка onTouchEvent в Activity (Программирование Android):

Обработка NFC в запущенной Activity - Программирование Android
Доброго времени суток. Программа для чтения и записи NFC меток. Когда телефон подношу к NFC устройству телефон предлагает список...

Обработка FloatingActionButton в классе не наследующим класс Activity - Программирование Android
Доброго времени суток. Пишу проект и столкнулся с такой проблемой. В своём приложении использую Tabs в ToolBar для удобного просмотра меню....

Обработка нажатий клавиш громкости непосредственно Service (Activity уже закрыто) - Программирование Android
Уважаемые форумчане! Буду благодарен за любую помощь. Написал добрую часть приложения для Android, состоящего из Активности и...

Приложение зависает, если свернуть и развернуть Activity или перейти на другую Activity - Программирование Android
У меня в параллельном потоке происходит куча apply() Решение использовать apply вместо commit было принято из-за скорости. Но...

Изменение layout-элементов одного activity из другого activity - Программирование Android
Здравствуйте! Я хочу изменить размер или цвет текста TextView в одном activity из второго activity, каким образом мне можно это...

Android - Передача данных с одного Activity на другое Activity - Программирование Android
Здравствуйте , возникла необходимость получения числовых (int и float ну или double) данных в одном Activity , а обработка и вывод...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
14.11.2012, 02:45 #2
Called when a touch screen event was not handled by any of the views under it.
.....
razer89
15 / 15 / 0
Регистрация: 20.06.2010
Сообщений: 142
14.11.2012, 23:13  [ТС] #3
многозначительный ответ... можно поточнее, что вы имели ввиду?
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
14.11.2012, 23:38 #4
а что конкретно вы не поняли? вполне четкий ответ, цитата из документации.
razer89
15 / 15 / 0
Регистрация: 20.06.2010
Сообщений: 142
15.11.2012, 21:00  [ТС] #5
Да это все понятно, документацию я читал, и глаз Вы мне не открыли. НО если следовать той самой документации, то метод должен вызываться тогда, когда ни одним из View касание не было обработано. Как видно в коде из первого поста, нажатие НИЧТО не обрабатывает, метод onTouchEvent переопределен, и как бы по логике должен вызываться он, но ничего не происходит! Вот именно это я и спрашиваю, почему так, а не интересуюсь, где бы мне достать почитать документацию...
Заранее благодарен!
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
15.11.2012, 21:43 #6
Извините, не обратил внимание что вы не вызываете setContentView, думал в этом проблема.
Запустил ваш код, у меня все работает:
11-15 19:41:49.699: I/System.out(24562): Touch!
11-15 19:41:49.709: I/System.out(24562): Touch!
11-15 19:41:49.719: I/System.out(24562): Touch!
11-15 19:41:49.729: I/System.out(24562): Touch!
11-15 19:41:49.739: I/System.out(24562): Touch!
11-15 19:41:49.769: I/System.out(24562): Touch!
11-15 19:41:49.779: I/System.out(24562): Touch!
11-15 19:41:49.789: I/System.out(24562): Touch!
11-15 19:41:49.799: I/System.out(24562): Touch!
11-15 19:41:49.809: I/System.out(24562): Touch!
11-15 19:41:49.829: I/System.out(24562): Touch!
11-15 19:41:49.839: I/System.out(24562): Touch!
razer89
15 / 15 / 0
Регистрация: 20.06.2010
Сообщений: 142
15.11.2012, 22:10  [ТС] #7
Цитата Сообщение от V0v1k Посмотреть сообщение
Запустил ваш код, у меня все работает:
Блин, да что ж такое то... Спасибо, что проверили!
Все, разобрался! Спасибо за setContentView, именно в нем и была причина.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.11.2012, 22:10
Привет! Вот еще темы с ответами:

Из одной Activity запустить функцию другой Activity - Программирование Android
например есть Activity2 которое я показываю в Dialog окошке, там у меня находятся Date and Time Picker ы (Дата - начало, Дата - окончание)...

Из одного Activity получить значение другого Activity - Программирование Android
Запускаю активити: public class MainActivity extends Activity { ... ... Intent intent = new Intent(getBaseContext(),...

Вызвать из одной activity функцию другой activity - Программирование Android
вызвать из одного activity функцию другой activity Подскажите, можно ли такое реализовать? Допустим у меня есть основная активити и...

Разгрузка onTouchEvent - Программирование Android
Пишу игру. В методе onTouchEvent у меня проходят практически все емкие операции - создание уровней игры (а это инициализация многих...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
15.11.2012, 22:10
Ответ Создать тему
Опции темы

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