Android: xml संसाधन से पूर्णांक


110

मुझे अपने XML संसाधनों को कैसे संशोधित करना है, या मुझे किस XML फ़ाइल को बनाना है, पूर्णांक मानों को उसी तरह एक्सेस करने के लिए जिस तरह से आप स्ट्रिंग मानों को एक्सेस करते हैं R.string.some_string_resource?

उदाहरण के लिए, कोड में मैं कहना चाहता हूं:

ProgressDialog progressBar = new ProgressDialog(getContext());
progressBar.setMax(getInteger(R.integer.maximum));

क्या यह संभव है?

जवाबों:


263

हाँ यह संभव है, यह इस तरह दिखेगा:

  1. फ़ोल्डर में एक xml संसाधन फ़ाइल बनाएँ, /res/values/जिसे integers.xml कहा जाता है।

    आप इसे किसी भी नाम देने के लिए स्वतंत्र हैं जैसा आप चाहते हैं, लेकिन एक ऐसा चुनें जो स्पष्ट हो।

  2. उस संसाधन फ़ाइल में, अपने पूर्णांक मान बनाएँ।

    आपकी फ़ाइल तब कुछ इस तरह दिखती है:

    <?xml version="1.0" encoding="utf-8"?>
    <resources>    
        <integer name="maximum">100</integer>
        ...
    
    </resources>
  3. जावा कोड में पूर्णांक मान को इस तरह देखें:

    यह थोड़ा अलग है getString(), आपको थोड़ा चक्कर लगाना होगा।

    ProgressDialog progressBar = new ProgressDialog(getContext());
    int max = getContext().getResources().getInteger(R.integer.maximum);
    progressBar.setMax(max);

1
वह दोहरा मूल्य है, पूर्णांक नहीं। हो सकता है कि आप एक अलग StackOverflow प्रश्न में पूछें।
टेरी

1
@ टेरी तो एंड्रॉइड में इंटेगर का उपयोग करने के लिए यह पसंदीदा तरीका है, मैं आमतौर पर इसे कोड में ही कोड करता हूं। आपका क्या कहना है?
capt.swag

2
@ capt.swag आमतौर पर आप प्रत्येक वर्ग में उपयुक्त कोड के रूप में पूर्णांकों को पूर्णांक बनाते हैं। लेकिन अगर आपको अलग-अलग लेआउट (यानी ग्रिड के लिए कॉलम की संख्या) के लिए अलग-अलग स्थिरांक रखने की आवश्यकता है, तो आप स्क्रीन की विभिन्न चौड़ाई के लिए उस निरंतरता को अनुकूलित करने के लिए XML फ़ाइलों का उपयोग करेंगे। आशा है कि मदद करता है
रोममेक्स

1
क्या मैं उस पूर्णांक मूल्य को सीधे XML में उपयोग कर सकता हूं?
Arbaz.in

1
@ capt.swag हाँ, यह पसंदीदा तरीका है
बट्टो-बैर स्य्रेनोव

5

आपको अपने प्रोजेक्ट में integers.xml फ़ाइल को जोड़ना होगा

यहां छवि विवरण दर्ज करें

और फिर

यहां छवि विवरण दर्ज करें

और integers.xml में इसे जोड़ें

<integer name="maximum">5</integer>
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.