TypedArray (link) के लिए स्रोत कोड देख रहे हैं, मुझे लगता है कि इन दो विधियों के बीच क्या अंतर है यह पता नहीं लगा सकता है। getInt()
मूल रूप से getInteger()
जैसा ही है, लेकिन अंत में एक छोटे से जोड़े के साथ जो मुझे समझ में नहीं आता है। क्या कोई मुझे यह समझा सकता है?TypedArray.getInteger() और TypedArray.getInt() के बीच क्या अंतर है?
कारण मुझे अंतर जानने की आवश्यकता है कि मैं एक कस्टम वरीयता उपclass लागू कर रहा हूं, और डिफ़ॉल्ट मान प्राप्त करने के लिए मुझे onGetDefaultValue()
ओवरराइड करने की आवश्यकता है, जो टाइपेडएरे से एक पूर्णांक प्राप्त करता है। उदाहरण:
@Override
protected Object onGetDefaultValue(TypedArray a, int index)
{
return a.getInteger(index, DEFAULT_VALUE);
}
यहाँ मैं getInteger()
उपयोग कर रहा हूँ, लेकिन अगर getInt()
बेहतर है, तो मुझे लगता है कि प्रयोग करेंगे।
धन्यवाद। तो आप किस पर 'onGetDefaultValue() 'के लिए उपयोग करेंगे? मुझे लगता है कि मैं 'getInt() 'के साथ जाऊंगा क्योंकि यह" थोड़ा कठिन प्रयास करता है "और कम से कम कुछ वापस कर देगा। –
हम्म, मैंने अभी दोनों गैर-इंट गैर-शून्य इनपुट के साथ परीक्षण किया है ('एंड्रॉइड: डिफ़ॉल्ट वैल्यू' एक्सएमएल विशेषता के लिए एक गिब्रिश स्ट्रिंग निर्दिष्ट) और ऐसा लगता है कि अगर दोनों अज्ञात मान का सामना करते हैं तो वे अपवाद फेंकते हैं ('getInt()' XMLUtils लाइन विफल होने पर अपवाद फेंकता है)। तो मुझे नहीं लगता कि यह वास्तव में मायने रखता है जिसका उपयोग 'onGetDefaultValue() 'में किया जाता है ... –