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

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

Войти
Регистрация
Восстановить пароль
 
maxhouse
0 / 0 / 0
Регистрация: 18.01.2015
Сообщений: 8
#1

Многократное срабатывание OnTouch - Android

21.04.2015, 22:00. Просмотров 192. Ответов 0
Метки нет (Все метки)

Добрый вечер всем. Имеется onTouch на ListView, который почему-то. срабатывает дважды или трижды (через-раз).
Хотелось бы понять и устранить причину лишних срабатываний.

P.S. Действие происходит на ViewPager с использованием Fragment и FragmentStatePagerAdapter.

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
 public boolean onTouch(View v, MotionEvent event) {
           switch(event.getAction()){
            case MotionEvent.ACTION_DOWN:
                xStart=event.getX();
                yStart=event.getY();
                break;
             case MotionEvent.ACTION_CANCEL:
                 Log.d("action","CHANCEL");
                 break;
            case MotionEvent.ACTION_MOVE:   
                x=event.getX();
                y=event.getY();
                Log.d("edit","y="+y+" x="+x);
                deltX= x-xStart;
                deltY=y-yStart;
         if(deltX>10 && Math.abs(deltY) < 20 ){
            Log.d("add","MOVIE");
                    book2.setVisibility(View.INVISIBLE);
                    book2.setVisibility(View.VISIBLE);
                    book2.setBackgroundResource(R.drawable.backpageanim);
             animpg2= (AnimationDrawable)book2.getBackground();
             animpg2.start(); 
             adapter2.clear();
             checkIfAnimationDone(animpg2);
                }
                break;
        case MotionEvent.ACTION_UP:
         Log.d("action","up");
        
        }
            
                return false;
            }
      
          private void checkIfAnimationDone(AnimationDrawable animpg){
                final AnimationDrawable a = animpg;
                int timeBetweenChecks = 1;
                Handler h = new Handler();
                title2.setText(null);
                h.postDelayed(new Runnable(){
                    public void run(){
                        if (a.getCurrent() != a.getFrame(a.getNumberOfFrames() - 1)){
                            checkIfAnimationDone(a);
                        } else{
                            
                            Log.d("days","dayengFIRST " + dayeng+ ";  " + "dayFIRST = "+day);
                            if(setkol!=1){
                            
                            dayeng=getdaynow(dayeng,"dayeng","-",1);
                             day=getdayrus(dayeng);
                            }
                            if(setkol==1){  
                                    dayeng=getkoldaynow(dayeng,"dayeng","-",1);
                                     day=getkoldayrusnow( dayeng,day);
                            }
                            
                            Log.d("days","dayeng " + dayeng+ ";  " + "day = "+day);
                            
                            title2.setText(day);
                          adapter2.clear();
                          adapter2.addAll(db.getSubjects(dayeng));
                       BookActivity.pg.setupd(dayeng,week);
                        }
                    }
                }, timeBetweenChecks);
          }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2015, 22:00     Многократное срабатывание OnTouch
Посмотрите здесь:

Android OnTouch траблы с viewflipper и viewpager
registerForContextMenu и ontouch Android
Android OnTouch MotionEvent в андроид выполняется только один раз
Одновременное срабатывание onTouch и onItemLongClick Android
Программный вызов onTouch Android
Android OnTouch и onLongClick
Android Использование разных onTouch для двух Layout элемента
Android Вылет onTouch(), перетаскивание
OnTouch узнать цвет пикселя Android
OnTouch из активити для View Android
Android OnTouch на элементе меню
Android Многократное использование Custom View - как

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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