7

पर स्क्रॉल करता है मेरे पास एक NestedScrollView के भीतर एक ग्रिड व्यू है। जब भी ग्रिड व्यू की सामग्री बदल जाती है तो मैंने ग्रिड व्यू का आकार बदलने के लिए नीचे दिए गए कोड का उपयोग किया है। यह ठीक काम करता है, हालांकि NestedScrollView बहुत नीचे तक स्क्रॉल करता है जब मैं ऐप के खंड 3 से वापस खंड 2 तक स्वाइप करता हूं (जहां NestedScrollView रहता है)। यह तब नहीं होता जब खंड 1 से खंड 2 तक स्वाइप हो जाता है। यह ग्रिड व्यू का आकार बदलने के बाद सीधे नहीं होता है।नेस्टेड स्क्रोलव्यू स्वचालित रूप से नीचे

मैं नेस्डस्क्रोल व्यू को स्क्रॉलिंग से नीचे तक कैसे दबा सकता हूं? enter image description here

+0

में बच्चे लेआउट के लिए android:descendantFocusability="blocksDescendants" जोड़े इस http://stackoverflow.com/a/36261638/1621111 –

उत्तर

50

NestedScrollView

+1

तुम मुझे मजाक कर रहे हैं का प्रयास करें? यह वास्तव में काम किया! बहुत बहुत धन्यवाद। –

+1

अविश्वसनीय, यह चाल * कई * छोटे यूआई ग्लिच को हल करने के लिए समाप्त हो गई है जिसे हम अभी कुछ समय से अनुभव कर रहे हैं। हमारे पास स्क्रीन के सभी प्रकारों में नेस्टेड रीसाइक्लिंग/स्क्रॉल दृश्यों के गहरे स्तर हैं, और अंततः 1 लाइन ने हमें समस्या को समझने में मदद की। –

+0

हीरो! मैं इतने लंबे समय के लिए उस समाधान की खोज कर रहा हूं! अविश्वसनीय है कि यह इतना आसान है! धन्यवाद! – romaneso

1

अगर मैं GridView समस्या का समाधान होने की onLayoutChanged() विधि के अंत तक nestedScrollView.scrollTo(0, 0); जोड़ें:

private static void resizeGridView(GridView gridView, int items, int columns) { 
    ViewGroup.LayoutParams params = gridView.getLayoutParams(); 
    params.height = singleGridHeight * items; 
    gridView.setLayoutParams(params); 
    gridView.requestLayout(); 
} 

निम्नलिखित प्रणाली तरीकों जब टुकड़े के बीच स्वाइप कहा जाता है। हालांकि, यह nestedScrollView को पहले स्थान पर स्वचालित रूप से स्क्रॉल करने से रोकने के लिए और अधिक समझ में आता है।

विचार?

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