का स्क्रॉल ऑफ़सेट क्या वर्तमान स्क्रॉल ऑफसेट या ग्रिड व्यू की स्क्रॉल स्थिति निर्धारित करने का कोई तरीका है?ग्रिड व्यू
View.getScrollY() // Underlying var is not updated during a scroll.
मैं एक OnScrollListener स्थापित करने की कोशिश की है लेकिन Onscroll कॉलबैक ठीक मेरी प्रयोजनों के लिए पर्याप्त सुक्ष्म नहीं है।
यहां बताया गया है कि मैं ऑनस्क्रॉल लिस्टनर का उपयोग करके स्क्रॉल ऑफ़सेट निर्धारित करने का प्रयास कैसे कर रहा हूं।
private int getScrollY() {
int top = 0;
if (mGridView.getChildCount() > 0) {
final View firstView = mGridView.getChildAt(0);
top = firstView.getTop();
}
return top;
}
इस कोड के साथ समस्या यह है कि ऊपर की ओर स्क्रॉल करते समय लौटाया गया ऑफसेट गलत है; शीर्ष दृश्य पुनर्नवीनीकरण किया जाता है और इसलिए, वाई ऑफ़सेट कूदने लगता है;
क्या ग्रिड व्यू के स्क्रॉल ऑफसेट की गणना करने का कोई अच्छा तरीका है? मुझे एक अच्छा समाधान नहीं मिल रहा है।
ओह जवाब देने के लिए धन्यवाद! मैं इसे समझने के बाद खुद को जवाब देना भूल गया था। – mdupls
@mdupls यह एक सही वाई ऑफ़सेट देने लगता है। लेकिन ग्रिडव्यू को उसी ऑफसेट पर सेट करने के लिए आप किस फ़ंक्शन का उपयोग करते हैं? मैंने काफी कुछ करने की कोशिश की है, और सही परिणाम नहीं मिल सकते हैं। हमेशा विभिन्न पदों में खत्म हो जाते हैं। मैं अनुमान लगा रहा हूं, यह उतना आसान नहीं है जितना मैंने सोचा था कि यह होगा। –
gridview.smoothScrollToPosition (int अनुक्रमणिका) – mdupls