ऑर्डर को स्टोर करने के लिए आपको प्रत्येक डीबी पंक्ति में एक फ़ील्ड की आवश्यकता होती है। फिर आपको उन सुविधाओं को लागू करने की आवश्यकता होती है:
-
नई पंक्ति डालने पर (जब आप डेटाबेस में कोई नई वस्तु सम्मिलित करते हैं) तो आपको आदेश . सेट करने की आवश्यकता होती है अगले int के लिए फ़ील्ड। आप वर्तमान अधिकतम मूल्य प्राप्त कर सकते हैं (एसक्यूएल फ़ंक्शन के साथ
MAX
) और फिर बस +1 करें -
जब उपयोगकर्ता किसी आइटम को
RecyclerView
. में ले जाता है , विधि मेंonMoved
आपको अन्य सभी पंक्तियों को अपडेट करना होगा। आपfromPos
का उपयोग कर सकते हैं औरtoPos
उसके लिए। उस पर और नीचे -
जब आप अपना
RecyclerView
भरते हैं डेटा के साथ आपको उन्हेंorder
. द्वारा ऑर्डर करने की आवश्यकता है फ़ील्ड
कार्यान्वित की जाने वाली दूसरी विशेषता का स्पष्टीकरण:मूल रूप से आपको fromPos
के बीच क्रम से सभी पंक्तियों को अपडेट करने की आवश्यकता है और toPos
:
-
यदि उपयोगकर्ता ने आइटम को ऊपर ले जाया है (उदाहरण के लिए स्थिति 4 से 2 तक), तो आपको यह करना होगा:
- वर्तमान आइटम की प्राथमिक कुंजी फ़ील्ड प्राप्त करें (स्थिति 4 का उपयोग करके)
- आदेश के बीच सभी पंक्तियों को बदलें 2 और ऑर्डर करें 4 :इसलिए 2 -> 3 और 3 -> 4 बदलें
- वर्तमान आइटम क्रम (पहले बिंदु की प्राथमिक कुंजी का उपयोग करके) को
toPos
. में बदलें :इस उदाहरण में वर्तमान आइटम क्रम को 2 में बदलें
-
यदि उपयोगकर्ता ने आइटम को नीचे ले जाया है (उदाहरण के लिए स्थिति 2 से 4 तक) तो आपको यह करना होगा:
- वर्तमान आइटम की प्राथमिक कुंजी फ़ील्ड प्राप्त करें (स्थिति 2 का उपयोग करके)
- क्रम 2 और क्रम 4 के बीच सभी पंक्तियों को बदलें:इसलिए 4 -> 3 और 3 -> 2 बदलें
- वर्तमान आइटम क्रम (प्रथम बिंदु की प्राथमिक कुंजी का उपयोग करके) को
toPos
. में बदलें :इस उदाहरण में वर्तमान आइटम क्रम को 4 में बदलें
उम्मीद है कि यह थोड़ी मदद करेगा