जावा Android कोड से string.xml संसाधन फ़ाइल तक पहुँचें


109

आप res/values/string.xmlएंड्रॉइड से संसाधन फ़ाइल में मूल्यों का उपयोग कैसे करते हैं Activity class?

जवाबों:


149

खैर आप स्ट्रिंग का उपयोग कर प्राप्त कर सकते हैं,

getString(R.string.app_name);

और, आप स्ट्रिंग-ऐरे का उपयोग करके प्राप्त कर सकते हैं

String arr[] = getResources().getStringArray(R.array.planet);
for (int i = 0; i < arr.length; i++) {
        Toast.makeText(getBaseContext(),arr[i], Toast.LENGTH_LONG).show();  
}

<string-array name = "planet"> <item> Mercury </ item> <item> Venus </ item> <item> Earth </ item> </ string-array> इस कोड के लिए जबकि मैं getString (R) का उपयोग करता हूं। string.planets);
रविकिरन

मैंने आपके उत्तर की जाँच की लेकिन मुझे ForceClose त्रुटि मिली। मदद के लिए धन्यवाद
रविकिरण

यह लॉग इन है ०-27-२AT २०: १६: ०४. ER४४: ERROR / AndroidRuntime (३३ ९): FATAL अपवाद: मुख्य ०-27-२AT २०: १६: ०४. :४४: ERROR / AndroidRuntime (३३ ९): java.lang.RuntimeException: गतिविधि घटक प्रारंभ करने में असमर्थ {com.string / com.string.string}: android.content.res.esource $ NotFoundException: स्ट्रिंग संसाधन ID # 0x7f050000
रविकिरण

यह लॉग इन है ०-27-२AT २०: १६: ०४. ER४४: ERROR / AndroidRuntime (३३ ९): FATAL अपवाद: मुख्य ०-27-२AT २०: १६: ०४. :४४: ERROR / AndroidRuntime (३३ ९): java.lang.RuntimeException: गतिविधि घटक प्रारंभ करने में असमर्थ {com.string / com.string.string}: android.content.res.Resources $ NotFoundException: स्ट्रिंग संसाधन ID # 0x7f050000 08-27 20: 16: 04.844: ERROR (AndroidRuntime (339): android.app.ActivityThread पर। performLaunchActivity (ActivThread.java:2663)
रविकिरण

1
ध्यान दें कि getString () स्थिर नहीं है। यदि आप अपने एप्लिकेशन वर्ग की स्थिर संपत्ति के लिए string.xml मान निर्दिष्ट करना चाहते हैं, तो इसे आप onCreate () वर्ग में करें।
क्रिशवेबदेव

44

strings.xml:

<string name="some_text">Some Text</string>

गतिविधि:

getString(R.string.some_text);

@MByD यह पहली टिम है जो मैं तेज था तब आप =)
माइकल

<string-array name = "planet"> <item> Mercury </ item> <item> Venus </ item> <आइटम> Earth </ item> </ string-array>
रविकिरण

16

इस कोड को डालें res/values/string.xml

<string-array name="planet"> 
    <item>Mercury</item>
    <item>Venus</item>
    <item>Earth</item>
    <item>Mars</item>
</string-array>

इस कोड को इसमें res/layout/main.xmlमौजूद डिफ़ॉल्ट विजेटों को रखा जाना और हटाना है main.xml

<ListView android:id="@+id/planet"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:entries="@array/planet"/>
</LinearLayout>

15

यदि getString (R.string.app_name); आपके लिए काम नहीं कर रहा है, आप इस तरह से संदर्भ पारित कर सकते हैं:

context.getString(R.string.app_name);

2

यदि आपके पास गतिविधि का संदर्भ है, तो साथ जाएं:

getString(R.string.app_name);

यदि आपके पास संदर्भ नहीं है, तो नीचे का प्रयास करें, आप संदर्भ का उपयोग कर गतिविधि से प्राप्त कर सकते हैं Constructor

mContext.getString(R.string.app_name);
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.