2015-01-22 6 views
11

रीसाइक्लर व्यू आइटम पर हटाने/संग्रह करने के लिए स्लाइड (दाएं से बाएं या बाएं से दाएं) के लिए स्लाइड का कोई सीधा समर्थन है।रीसाइक्लर व्यू आइटम पर स्वाइप जेश्चर कैसे करें बिना किसी पार्टी पार्टी

और हटाने/संग्रह के बजाय मुझे सूची आइटम के नीचे चार बटन चाहिए।

कुछ इस https://github.com/47deg/android-swipelistview की तरह लेकिन recyclerview और आधिकारिक समर्थन नहीं किसी भी 3 पार्टी lib

+0

मैंने छोटी लाइब्रेरी बनाई है जो जेस्चर निर्माण को आसान बनाने के लिए आइटम टचहेल्पर का उपयोग करती है, आप इसे यहां github.com/olmur/rvtools –

उत्तर

7

हां वहाँ है, आप इसे समर्थन पुस्तकालय द्वारा प्रदत्त ItemTouchHelper कक्षा के साथ कर सकते हैं।

पीएस मुझे इसे दूसरे दिन करना था और यदि संभव हो तो तीसरे पक्ष के lib का उपयोग करने से बचना चाहता था। पुस्तकालय आपकी आवश्यकता से कहीं अधिक कर सकता है और इसके कारण यह आपके मामले में आवश्यक से अधिक जटिल हो सकता है। यह आपके विधि गिनती को अनावश्यक भी बढ़ा सकता है। यह सिर्फ कारणों का एक नमूना है कि आपको अपनी समस्या के लिए त्वरित सुधार के रूप में lib जोड़ने से बचना चाहिए।

संपादित करें: मुझे इस पर जाना था, यह blog post और यह github repo देखें।

+0

महान ब्लॉग पोस्ट देख सकते हैं, हालांकि आपने इस दृष्टिकोण का उपयोग करके कार्रवाई सूची के लिए एक स्वाइप लागू करने में कामयाब रहे हैं? –

+0

यकीन नहीं है कि मैं समझता हूं कि आपका क्या मतलब है? कार्रवाई सूची के लिए स्वाइप करें? –

+0

हां, पंक्ति दृश्य के पीछे एक क्रिया दिखाने के लिए स्वाइप करें। किसी और चीज़ से जिज्ञासा से बाहर। –

1

के लिए क्यों आप एक 3 पार्टी पुस्तकालय का उपयोग नहीं करना चाहते हैं? यदि आप चार बटन चाहते हैं, तो बस उस लाइब्रेरी को संपादित करें (आप उनके लाइसेंस शर्तों का सम्मान कर सकते हैं)

मुझे पता है कि आपका प्रश्न lib का उपयोग नहीं करने के लिए है, लेकिन मुझे यह lib हल्का और उपयोग करने के लिए तैयार है। यदि आप उनके बारे में एक नज़र रखना चाहते हैं, तो बस कोड ब्राउज़ करें।

संपादित करें: Here आप एक कस्टम व्यू का उपयोग करने के लिए एक उदाहरण हैं।

3

हां वहाँ है। ItemTouchHelper का प्रयोग करें। this project क्लोन करने का प्रयास करें और देखें कि इसका उपयोग कैसे किया जाता है।

ItemTouchHelper.SimpleCallback simpleCallback = 
      new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.RIGHT) { 
       @Override 
       public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, 
             RecyclerView.ViewHolder target) { 
        return false; 
       } 

       @Override 
       public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) { 
        //do things 
       } 
      }; 

    ItemTouchHelper itemTouchHelper = new ItemTouchHelper(simpleCallback); 
    itemTouchHelper.attachToRecyclerView(recyclerView); 

recyclerView चर होल्डिंग recycler दृश्य है:

विशिष्ट file के लिए, आलसी लोग हैं, जो लिंक पर क्लिक करने के लिए नहीं करना चाहते हैं के लिए लाइन 87

देखो, यह तुम कैसे सेटअप है।

ItemTouchHelper.RIGHT से अलग अन्य दिशाएं हैं, प्रयोग करने का प्रयास करें।

संबंधित मुद्दे