2012-08-29 19 views
5

Bir kaydırma görünümünün atlama hareketini devre dışı bırakmak istiyorum ve çalışmıyor gibi görünüyor .. Kaydırma görünümünü genişleten temel bir sınıf oluşturmanın ve Overriding'un onFling olduğunu düşündüm. yöntem. ancak Tutulma @Override kaldırmak için bana bir hata veriyor:bir kaydırma görünümünün devre dışı bırakılması nasıl olur

herhangi bir fikir nasıl Fling

public class ScrollViewNoFling extends ScrollView { 

    /** 
    * @param context 
    * @param attrs 
    * @param defStyle 
    */ 
    public ScrollViewNoFling(Context context) { 

     super(context); 
     // TODO Auto-generated constructor stub 
    } 
    public ScrollViewNoFling(Context context, AttributeSet attrs) { 

     super(context, attrs); 
     // TODO Auto-generated constructor stub 
    } 
    public ScrollViewNoFling(Context context, AttributeSet attrs, int defStyle) { 

     super(context, attrs, defStyle); 
     // TODO Auto-generated constructor stub 
    } 

    @Override 
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) 
    { 
     return false; 
    } 

} 

cevap

12

Aynı sorunu Override fling yöntemiyle çözdüm. ScrollViewNoFling sınıfınızda fling yöntemini geçersiz kılar ve bu yöntemde super.fling'i çağırmazsanız, fling-handled scrollView kullanamazsınız.

@Override 
public void fling (int velocityY) 
{ 
    /*Scroll view is no longer gonna handle scroll velocity. 
    * super.fling(velocityY); 
    */ 
} 
0

devre dışı bırakmak için bunu kaçamak ve onFling değil olması gerektiğini düşünüyorum. fling() kullanarak yerine onFling() ek olarak resmi documentation

+1

Ayrıca 'onFling() 'bir parçası [GestureDetector.OnGestureListener] (http://developer.android.com/reference/android/view/GestureDetector.OnGestureListener.html) olduğuna dikkat ediniz. Bu durumda geçerli bir yöntemdir. –

0

bakınız, size dönüş değerlerine dikkat etmek gerekir. onFling() belgelerine gereğince

:

İade gerçek

olay, başka

etkinliği yakalamak ve hiçbir şey yapmak istiyorsanız

yanlış tüketilen edilirse, gerçek geri dönüş. Aksi takdirde, olay ele almaya çalışmak için başka bir yönteme/sınıfa geçirilecektir.

İlgili konular