2011-05-13 18 views
9

में दिखाया गया है वर्तमान छवि की स्थिति को प्राप्त करें, मैं चित्रों की एक गैलरी,अपने आवेदन में गैलरी

है, लेकिन मैं दिखाया गया है वर्तमान छवि की स्थिति का पता लगाने के लिए चाहते हैं,

उदाहरण के लिए: जब मैं मेरी एविविटीविटी लॉन्च करें, स्थिति 0 है, लेकिन जब मैं अपनी गैलरी में स्क्रॉल करता हूं, तो मैं वर्तमान छवि प्रदर्शित करने की स्थिति प्राप्त करना चाहता हूं,

मैंने ऑनफोकस चेंज, ऑनइटेमक्लेक्ड की कोशिश की है, लेकिन यह केवल तभी काम करता है जब मैं किसी आइटम पर क्लिक करता हूं मेरी गैलरी

कोई विचार! :(

उत्तर

22
gal.setOnItemSelectedListener(new OnItemSelectedListener(){ 
      @Override 
      public void onItemSelected(AdapterView<?> parent, View view, 
        int position, long id) { 
      //Do something with position 
      } 
}; 

आप इस कॉलबैक हर बार गैलरी में एक नया आइटम केंद्र में रखी जाने वाली मिलता है, तो गहन काम करने के लिए है क्योंकि अगर उपयोगकर्ता स्क्रॉल तेजी से आप एक कॉलबैक प्राप्त करने के लिए जा रहे हैं कुछ भी करने के प्रति सावधान रहें प्रत्येक आइटम के लिए वे पारित

+0

शाबाशी टीआईएम, आपके रिस्पी के लिए धन्यवाद, मैं यह कोशिश करूंगा :) – Houcine

+0

धन्यवाद टिम फिर से, यह मेरे लिए काम करता है, मैं इस स्थिति को प्राप्त करना चाहता हूं, उदाहरण के लिए, , अगर मैं आईएम स्थिति में हूं, तो मैं बस डाउनलोड करूंगा छवियों i-1, i, और i + 1, :) आपकी मदद के लिए बहुत बहुत धन्यवाद, मैं इसकी सराहना करता हूं :) सीओओ – Houcine

+0

आप सही टिम हैं। गैलरी बहुत तेजी से स्क्रॉल होने पर चयनों को अनदेखा करने के लिए थोड़ा टाइमर डालना संभव है, जब तक कि कुछ अंतर्निहित समाधान न हो? – Lumis

9

फ़्लिंग दौरान घटनाओं को खत्म करने के लिए, इस के अलावा setOnItemSelectedListener() कॉल करने के लिए जोड़ें:।

gal.setCallbackDuringFling(false); 
+0

मीठे! इसने मेरी बहुत मदद की। – Jesse

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