Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Узнать номер потока в котором исполняется функция http://www.cyberforum.ru/android-dev/thread1141267.html
Пытаюсь написать многопоточную программу и окончательно запутался... Много блокировок. Все в одном классе. Методы класса выполняются во втором потоке. Пытаюсь выводить ВСЕ в Log.i(), но этого мало....
Программирование Android Проверка интернет соединения Добрый день , я хотел бы проверить интернет соединение , у меня уже есть функция: public boolean checkNetworkStatus(Context context){ final ConnectivityManager connMgr = (ConnectivityManager)... http://www.cyberforum.ru/android-dev/thread1141247.html
Программирование Android Обработка кнопки гарнитуры
Не блютуз, хотя не знаю, есть ли там разница. В общем, MEDIA_BUTTON'ом оно называется.. Андроид 4.1.2 Перепробовал всё, что с этим связано на SO, и оно НИКАК не реагирует на нажатие кнопки на...
Клон приложения на этом же телефоне Программирование Android
Написал приложение под Андроид. Теперь хочу запустить клон своего же приложения на том же телефоне. Однако, второе приложение не ставится рядом, а переустанавливается поверх первого. Что делать?
Программирование Android Поиск в Action Bar http://www.cyberforum.ru/android-dev/thread1141103.html
Я разместил SearchView в Action Bar. <item android:id="@+id/search" android:actionViewClass="android.widget.SearchView" android:icon="@android:drawable/ic_search_category_default" ...
Программирование Android Устройство не определяется через ADB ДД! При синхронизации планшета с ПК, ADB не видит данное устройство. В планшете включена опция Отладка по USB. Соответствующие драйвера были успешно установлены. подробнее

Показать сообщение отдельно
glnix
14 / 14 / 5
Регистрация: 08.04.2013
Сообщений: 75

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

07.04.2014, 14:43. Просмотров 1140. Ответов 0
Метки (Все метки)

Всем привет.
Вот никак не могу понять работу методов его listener'а.
Для начала код:
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
package com.example.TouchSmpl;
 
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;
 
public class MainActivity extends Activity implements GestureDetector.OnGestureListener, View.OnTouchListener {
    TextView tv1;
    GestureDetector gestureDetector;
    Context ctx;
    LinearLayout ll;
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        tv1 = (TextView) findViewById(R.id.tv1);
        ll = (LinearLayout) findViewById(R.id.ll);
        ll.setOnTouchListener(this);
        ctx = this;
        gestureDetector = new GestureDetector(ctx, this);
 
    }
 
    private void Log(String msg) {
        final String LOGTAG = getPackageName();
        Log.d(LOGTAG, msg);
    }
 
    @Override
    public boolean onDown(MotionEvent motionEvent) {
        Log("onDown");
        return false;  //To change body of implemented methods use File | Settings | File Templates.
    }
 
    @Override
    public void onShowPress(MotionEvent motionEvent) {
        Log("onShowPress");
        //To change body of implemented methods use File | Settings | File Templates.
    }
 
    @Override
    public boolean onSingleTapUp(MotionEvent motionEvent) {
        Log("onSingleTapUp");
        return false;  //To change body of implemented methods use File | Settings | File Templates.
    }
 
    @Override
    public boolean onScroll(MotionEvent motionEvent, MotionEvent motionEvent2, float v, float v2) {
        Log("onScroll");
        return false;  //To change body of implemented methods use File | Settings | File Templates.
    }
 
    @Override
    public void onLongPress(MotionEvent motionEvent) {
        Log("onLongPress");
        //To change body of implemented methods use File | Settings | File Templates.
    }
 
    @Override
    public boolean onFling(MotionEvent motionEvent, MotionEvent motionEvent2, float v, float v2) {
        Log("onFling");
        return false;  //To change body of implemented methods use File | Settings | File Templates.
    }
 
    @Override
    public boolean onTouchEvent(MotionEvent event) {
        Log("onTouchEvent");
        return gestureDetector.onTouchEvent(event);
    }
 
    @Override
    public boolean onTouch(View view, MotionEvent motionEvent) {
        Log("onTouchEvent");
        return false;
    }
}
Лог при одном нажатии на экран:
Кликните здесь для просмотра всего текста

04-07 16:33:50.032: DEBUG/com.example.TouchSmpl(13521): onTouchEvent
04-07 16:33:50.032: DEBUG/com.example.TouchSmpl(13521): onTouchEvent
04-07 16:33:50.032: DEBUG/com.example.TouchSmpl(13521): onDown
04-07 16:33:50.062: DEBUG/com.example.TouchSmpl(13521): onTouchEvent
04-07 16:33:50.062: DEBUG/com.example.TouchSmpl(13521): onSingleTapUp


И вот тут не могу понять:
1. Почему onTouchEvent вызывается несколько раз?
2. Как происходит определение типа жеста и срабатывание необходимого ему метода(onScroll, onFling и т.д.)?
3. Чем отличаются onTouch и onTouchEvent и почему onTouchEvent обязательный(IDE не предлагает его переписать при добавлении интерфейса к activity)?
4. На что влияют возвращаемые булевы значения?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru