SQLite
 sql >> डेटाबेस >  >> RDS >> SQLite

खींचे और गिराए जाने के बाद SQLite में RecyclerView आइटम की नई स्थिति संग्रहीत करें

ऑर्डर को स्टोर करने के लिए आपको प्रत्येक डीबी पंक्ति में एक फ़ील्ड की आवश्यकता होती है। फिर आपको उन सुविधाओं को लागू करने की आवश्यकता होती है:

  • नई पंक्ति डालने पर (जब आप डेटाबेस में कोई नई वस्तु सम्मिलित करते हैं) तो आपको आदेश . सेट करने की आवश्यकता होती है अगले int के लिए फ़ील्ड। आप वर्तमान अधिकतम मूल्य प्राप्त कर सकते हैं (एसक्यूएल फ़ंक्शन के साथ MAX ) और फिर बस +1 करें

  • जब उपयोगकर्ता किसी आइटम को RecyclerView . में ले जाता है , विधि में onMoved आपको अन्य सभी पंक्तियों को अपडेट करना होगा। आप fromPos का उपयोग कर सकते हैं और toPos उसके लिए। उस पर और नीचे

  • जब आप अपना RecyclerView भरते हैं डेटा के साथ आपको उन्हें order . द्वारा ऑर्डर करने की आवश्यकता है फ़ील्ड


कार्यान्वित की जाने वाली दूसरी विशेषता का स्पष्टीकरण:मूल रूप से आपको fromPos के बीच क्रम से सभी पंक्तियों को अपडेट करने की आवश्यकता है और toPos :

  • यदि उपयोगकर्ता ने आइटम को ऊपर ले जाया है (उदाहरण के लिए स्थिति 4 से 2 तक), तो आपको यह करना होगा:

    1. वर्तमान आइटम की प्राथमिक कुंजी फ़ील्ड प्राप्त करें (स्थिति 4 का उपयोग करके)
    2. आदेश के बीच सभी पंक्तियों को बदलें 2 और ऑर्डर करें 4 :इसलिए 2 -> 3 और 3 -> 4 बदलें
    3. वर्तमान आइटम क्रम (पहले बिंदु की प्राथमिक कुंजी का उपयोग करके) को toPos . में बदलें :इस उदाहरण में वर्तमान आइटम क्रम को 2 में बदलें
  • यदि उपयोगकर्ता ने आइटम को नीचे ले जाया है (उदाहरण के लिए स्थिति 2 से 4 तक) तो आपको यह करना होगा:

    1. वर्तमान आइटम की प्राथमिक कुंजी फ़ील्ड प्राप्त करें (स्थिति 2 का उपयोग करके)
    2. क्रम 2 और क्रम 4 के बीच सभी पंक्तियों को बदलें:इसलिए 4 -> 3 और 3 -> 2 बदलें
    3. वर्तमान आइटम क्रम (प्रथम बिंदु की प्राथमिक कुंजी का उपयोग करके) को toPos . में बदलें :इस उदाहरण में वर्तमान आइटम क्रम को 4 में बदलें


उम्मीद है कि यह थोड़ी मदद करेगा




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कैसे जांचें कि SQLite में कोई तालिका मौजूद है या नहीं?

  2. RecyclerView में SQLite डेटा प्रदर्शित करें

  3. SQLite मौजूद है

  4. मुझे java.lang.IllegalArgumentException क्यों मिल रहा है:इस मामले में इंडेक्स 1 पर बाइंड वैल्यू शून्य है?

  5. क्या ऐसी कोई विधियाँ हैं जो सामान्य SQLite समस्याओं को हल करने में सहायता करती हैं?