मैं एक कस्टम दृश्य लिख रहा हूं जो सीधे android.view.View
बढ़ाता है। यदि मैं फ़ील्ड mScrollX
या mScrollY
तक पहुंचने का प्रयास करता हूं, तो मुझे एक त्रुटि दिखाई देती है कि फ़ील्ड "हल नहीं किया जा सकता है या कोई फ़ील्ड नहीं है।" source code for android.view.View में mScrollX, mScrollY, और समान चर घोषित protected
है। यह कैसे है कि मेरा सीधा उप-वर्ग अपने मूल वर्ग के संरक्षित क्षेत्रों तक नहीं पहुंच सकता है? (ScrollView जैसी कक्षाएं स्पष्ट रूप से कर सकती हैं।)संरक्षित फ़ील्ड उपclasses के लिए दृश्यमान नहीं हैं
पीएस मुझे एहसास है कि मैं getScrollX()
पर कॉल कर सकता हूं, लेकिन मैं इन क्षेत्रों को अपडेट करना चाहता हूं; कॉलिंग setScroll()
पर साइड इफेक्ट्स हैं जो मैं नहीं चाहता हूं।
अजीब, उप-वर्ग, यहां तक कि अन्य पैकेजों में भी, अपने सुपरक्लास के संरक्षित चर का उपयोग कर सकते हैं। मुझे लगता है कि आप गलत संस्करण का उपयोग कर रहे हैं। क्या आप अपना कुछ कोड दिखा सकते हैं? –
व्यवहार की पुष्टि की। –