अन्य उत्तरों प्रश्न हल कर सकते हैं, शायद वे अच्छे काम करते हैं, लेकिन मुझे नहीं लगता कि वे अच्छे समाधान हैं।
क्योंकि हमें किसी भी मोउडल में ईवेंट से निपटना चाहिए, ताकि हम कोड को बनाए रखने या विस्तारित करने के लिए esaier हो सकें।
(वैसे, डॉन onFilng()
का उपयोग नहीं है, अगर अपनी अंगुली को स्क्रीन पर धीरे-धीरे ले जाते हैं, onFilng()
काम नहीं होगा)
तो, मेरे समाधान GestureDetector पुनर्लेखन है:
public class ModifyGestureDetector extends GestureDetector {
MyGestureListener myGestureListener;
public ModifyGestureDetector(Context context, OnGestureListener listener) {
super(context, listener);
init(listener);
}
void init(OnGestureListener listener){
if (listener instanceof MyGestureListener){
myGestureListener = (MyGestureListener) listener;
}
}
//u can write something more complex as long as u need
@Override
public boolean onTouchEvent(MotionEvent ev) {
if(ev.getAction() == MotionEvent.ACTION_UP
&& myGestureListener != null){
myGestureListener.onUp(ev);
}
return super.onTouchEvent(ev);
}
public interface MyGestureListener{
public void onUp(MotionEvent ev);
}
}
और श्रोता :
public class MyGestureListener extends GestureDetector.SimpleOnGestureListener
implements ModifyGestureDetector.MyGestureListener {
@Override
public void onUp(MotionEvent ev) {
//do what u want
}
}
:)
स्रोत
2017-06-11 05:49:33
मैं पूरी तरह यकीन है कि क्या आप यहाँ क्या करना चाहते हैं नहीं कर रहा हूँ, लेकिन वहाँ 'जी में है' onSingleTapUp' estureListener' जो हो सकता है कि आप क्या देख रहे हैं। इसे पूरी तरह से टैप पर निकाल दिया जाता है, हालांकि, स्वाइप नहीं किया जाता है। इसके लिए आप 'GestureDetector' को पास किए बिना दृश्य/गतिविधि के "कच्चे" पर टचवेन्ट को संसाधित कर सकते हैं। – Xion
ऑनिंगिंगटैप को निकाल दिया जाता है जब एक टैप किया जाता है। मुझे नीचे की जरूरत है, फिर आगे बढ़ें, और यूपी के साथ खत्म करें। –
यह 'ऑनफलिंग' है, सिवाय इसके कि आपको MOVE ईवेंट नहीं मिलते हैं। अगर आपको उनकी ज़रूरत है, तो मुझे लगता है कि आपका एकमात्र विकल्प 'ऑन टचवेन्ट' को सीधे संभालना है। – Xion