2013-08-13 6 views
6

मेरे पास एक सूचीदृश्य है जो 50 आइटमों से शुरू होता है, और मैं सूची के माध्यम से उपयोगकर्ता स्क्रॉल के रूप में और अधिक जोड़ना चाहता हूं, लेकिन इससे पहले कि वे सूची के अंत तक पहुंच जाएं। मैं atEnd संपत्ति का उपयोग कर रहा हूं, यह जानने के लिए कि जब मैं सूची के अंत में हूं, और उस बिंदु पर और आइटम जोड़ रहा हूं, लेकिन जब मैं 50% हूं - 75% रास्ते में मैं नए आइटम जोड़ना शुरू करूंगा सूची के माध्यम से, ताकि उपयोगकर्ता को अधिक डेटाबीबी 10 ऐप पर सूची के अंत तक पहुंचने से पहले मैं सूची दृश्य में और आइटम कैसे जोड़ सकता हूं?

उत्तर

7

के लिए प्रतीक्षा छोड़ने की संभावना कम हो, तो आप onFirstVisibleItemChanged सिग्नल का उपयोग करके पता लगा सकते हैं कि आप कितनी सूचीदृश्य हैं। सूची में अपनी वर्तमान स्थिति प्राप्त करने के लिए प्रथम विज़िटेबलिटम और डेटा मॉडल के वर्तमान आकार का उपयोग करें। यदि वह स्थिति आपके द्वारा निर्धारित सीमाओं के भीतर है (मेरे उदाहरण कोड में 50% और 75%) तो डेटा मॉडल में और आइटम जोड़ने के लिए कोड चलाएं।

सटीक संख्या निर्धारित न करें, क्योंकि सिग्नल सूची के माध्यम से बिल्कुल 50% तक नहीं पकड़ सकता है, और आपको तब भी जांच करनी चाहिए जब आप सूची के अंत में विफलता के रूप में सूची के अंत को दबाते हैं उपयोगकर्ता आपके द्वारा सेट की गई सीमा से पहले उड़ता है।

ListView { 
dataModel: listDataModel 
objectName: "listView" 
attachedObjects: [ 

    ListScrollStateHandler { 
     property int position 
     id: scrollStateHandler 
     onScrollingChanged: { 

      if (atEnd) { 
       //code to run if you hit the end of the list 
      } 
     } 
     onFirstVisibleItemChanged: { 
      if (position < firstVisibleItem) { 
       console.log("Scrolling Down") 
       var size = listDataModel.size(); 
       var percent = firstVisibleItem/size * 100; 
       console.log("Percent: " + percent + "%"); 
       if (50 < percent < 75) { 
        //do stuff 
       } 
      } else if (position > firstVisibleItem) { 
       console.log("Scrolling Up"); 

      } 
      position = parseInt(firstVisibleItem); 
     } 
    } 
]} 
+0

ग्रेट उत्तर धन्यवाद! मैंने कभी इस बारे में सोचा नहीं होगा – krilovich

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