2013-09-29 3 views
0

Я хочу отобразить кнопку справа от пользователя, прокрутить список в списке, я написал код ниже в адаптере и отлично работает, кроме того, что он также работает с вертикальным салфетки . Как я могу остановить событие вертикального салфетки?Горизонтальное перемещение справа налево onTouchlistner для кнопки на listitem

final Button btnLoyaltyName = (кнопка) вид .findViewById (R.id.loyaltynamebutton);

 btnLoyaltyName.setOnTouchListener(new View.OnTouchListener() { 

      @Override 
      public boolean onTouch(View v, MotionEvent event) { 

       int action = event.getAction(); 

       switch (action) { 
       case MotionEvent.ACTION_DOWN: { 
        downX = event.getX(); 
        downY = event.getY(); 
        return true; 
       } 
       case MotionEvent.ACTION_CANCEL: { 
        upX = event.getX(); 
        upY = event.getY(); 

        float deltaX = downX - upX; 
        float deltaY = downY - upY; 

        Log.i("afasf", "X Position==" + deltaX + "Y poastion=" 
          + deltaY); 

        // if (deltaX > 0) 
        { 
         // swipe horizontal? 
         if (Math.abs(deltaX) > MIN_DISTANCE) { 
          // left or right 

          if (deltaX < 0) { 
           onSwipe(v); 
           return true; 
          } 
          if (deltaX > 0) { 
           onSwipe(v); 
           return true; 
          } 
         } else { 
          // Log.i(logTag, "Swipe was only " + 
          // Math.abs(deltaX) + " long, need at least " + 
          // MIN_DISTANCE); 
          return false; // We don't consume the event 
         } 

        } 
       } 
       } 
       return false; 

      } 
     }); 

ответ

0

вы на ложном пути, читать о GestureDetector, http://developer.android.com/reference/android/view/GestureDetector.html

+0

Спасибо за ваш ответ, но я попытался с помощью GestureDetector, но его метод onfling не вызывает, так что я попытался с помощью выше approach.I пытался точно так же как упоминалось в этой ссылке http://stackoverflow.com/questions/16017988/android-list-view-right-left-swipes-like-call-logs, используя OnSwipeTouchListener.java, но метод onFilg не вызван. – user853341

+0

это потому, что вы кормите свой GestureDetector из неправильного места, в случае ListView это должна быть ViewGroup, которая используется как элемент ListView. – pskink

+0

Еще раз спасибо за ответ, у моей listiem есть кнопка и над двумя текстовыми полями. если я прокручу кнопку справа налево, метка кнопки будет изменена. Я делаю все это в методе bindview cursoradapter. это неправильно? – user853341