Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
alexkusturoff
0 / 0 / 0
Регистрация: 11.12.2013
Сообщений: 3
1

OnTouch MotionEvent в андроид выполняется только один раз

11.12.2013, 15:12. Просмотров 999. Ответов 2
Метки нет (Все метки)

Так вот сам вопрос: MotionEvent.ACTION_UP выполняется только первый раз, что при использовании if, что case.
Кликаем по копке звук играет, отпускаем останавливается. При втором клике начинает играть, а при отпускании ничего не происходит.
1 Вариант:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
ImageButton cow = (ImageButton)this.findViewById(R.id.cow);
cow.setOnTouchListener(new View.OnTouchListener() {  
 
public boolean onTouch(View v, MotionEvent event) {
  int eventAction = event.getAction();
  if (eventAction== MotionEvent.ACTION_UP) {
  stopSound(catSound);
   }
if (eventAction == MotionEvent.ACTION_DOWN){
playSound(catSound);
 
   }
if (event.getAction() == MotionEvent.ACTION_CANCEL) {
stopSound(catSound);
}
                   return true;
                   
           }
 
});
2 Вариант:
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
final ImageButton cat = (ImageButton)this.findViewById(R.id.cat);
cat.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View cat, MotionEvent event) {
int eventAction1 = event.getAction();
               switch (eventAction1) {
             
                 case MotionEvent.ACTION_DOWN:
                     playSound(catSound);
                 
               
                 case MotionEvent.ACTION_UP:
                 stopSound(catSound);
                 
                 return true;
                 case MotionEvent.ACTION_CANCEL:
                 stopSound(catSound);
                 
                 return true;
                 
                      }
               return false;
           }
});
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2013, 15:12
Ответы с готовыми решениями:

Почему этот цикл выполняется один раз?
Canvas, прорисовав один раз все изображения, останавливается, а задача в том чтобы изображения...

Показать только один раз
Подскажите, как можно показать заставку(это может быть изображение, или активность с imageView)...

Цикл выполняется только один раз
var a, b, s :integer; begin read (a); s:=0; repeat begin if (a mod 10 mod 2)<>0 then s:=s + a...

Функция выполняется только один раз
Как заставить функцию, которая забирает в переменную содержимое .topBlock работать и когда...

Цикл выполняется только один раз.
#include "stdafx.h" #include "iostream" using namespace std; struct kvartira { int...

2
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
12.12.2013, 00:09 2
во втором варианте вам нужно breake поставить после playSound(catSound);
0
alexkusturoff
0 / 0 / 0
Регистрация: 11.12.2013
Сообщений: 3
12.12.2013, 01:25  [ТС] 3
Цитата Сообщение от KillAndEat Посмотреть сообщение
во втором варианте вам нужно breake поставить после playSound(catSound);
Разобрался уже сам.
Суть в том, что в stopSound нужно передавать не сам файл, а идентификатор потока.
0
12.12.2013, 01:25
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2013, 01:25

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Макрос выполняется правильно только один раз
Добрый день! Написал макрос. Но он, редиска, выполняется верно всего-лишь один раз... Даже...

Код выполняется только один раз, и то криво
Программа берет изображение экрана, находит среднее арифметическое цвета и окрашивает форму в этот...

Функция выполняется только один раз в день
По заданию нужно сделать, чтобы заданная функция в коде выполнялась только один раз в день, как это...


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

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

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