Android: How do I get string from resources using its name? -
मुझे UI के लिए 2 भाषाओं और मेरी संसाधन फ़ाइल res \ values \ Strings.xml
:
& lt; स्ट्रिंग नाम = "tab_Books_en" & gt; पुस्तकें & lt; / string & gt; & Lt; स्ट्रिंग नाम = "tab_Quotes_en" & gt; उद्धरण & lt; / string & gt; & Lt; स्ट्रिंग नाम = "tab_Questions_en" & gt; प्रश्न & lt; / string & gt; & Lt; स्ट्रिंग नाम = "tab_Notes_en" & gt; नोट्स & lt; / string & gt; & Lt; स्ट्रिंग नाम = "tab_Bookmarks_en" & gt; बुकमार्क & lt; / string & gt; & Lt; स्ट्रिंग नाम = "tab_Books_ru" & gt; क्नीगे & lt; / string & gt; & Lt; स्ट्रिंग नाम = "tab_Quotes_ru" & gt; चिट्स & lt; / string & gt; & Lt; स्ट्रिंग नाम = "tab_Questions_ru" & gt; वोप्रास & lt; / string & gt; & Lt; स्ट्रिंग नाम = "टैब_ोट्स_आरयू" & gt; Заметки & lt; / string & gt; & Lt; स्ट्रिंग नाम = "tab_Bookmarks_ru" & gt; झलक & lt; / string & gt;
अब मुझे अपने ऐप में गतिशील रूप से इन मानों को पुनः प्राप्त करने की आवश्यकता है:
spec.setContent (R.id.tabPage1) ; स्ट्रिंग पैक = getPackageName (); स्ट्रिंग आईडी = "tab_Books_" + Central.lang; इंट I = सेंट्रल.राज़.गेटआईडेंटिफायर (आईडी, "स्ट्रिंग", पैक); स्ट्रिंग str = Central.Res.getString (i);
मेरी समस्या यह है कि i = 0
।
स्ट्रिंग माइस्ट्रिंग = मिलर संसाधनों () के माध्यम से प्राप्त कर सकते हैं। GetString (R.string.mystring);
getResources ()
एक संदर्भ
वर्ग की एक विधि है। यदि आप गतिविधि
या सेवा
(जो संदर्भ का विस्तार करते हैं) के अंदर हैं तो आप इसे इस स्निपेट में पसंद कर सकते हैं।
इसके अलावा < मजबूत> ध्यान दें कि एंड्रॉइड फ्रेमवर्क द्वारा संपूर्ण भाषा निर्भरता का ध्यान रखा जा सकता है बस प्रत्येक भाषा के लिए अलग-अलग फ़ोल्डर बनाएं यदि अंग्रेजी आपकी डिफ़ॉल्ट भाषा है, तो बस अंग्रेज़ी स्ट्रिंग को res / values / strings.xml
में डाल दें। फिर एक नया फ़ोल्डर मान-आरयू
बनाएं और res / values-ru / strings.xml
में समान नामों के साथ रूसी तार डाल दें। एंड्रॉइड पर इस बिंदु से आपके लिए डिवाइस लोकेल के आधार पर सही विकल्प चुनता है, या तो जब आप getString ()
को कॉल करते हैं या @ string / mystring
के माध्यम से XML में तार को संदर्भित करते हैं। यदि res / values / strings.xml
से लोग हैं, फ़ॉलबैक हैं, यह एक डिफ़ॉल्ट मान के रूप में उपयोग किया जाएगा।
देखें और अधिक जानकारी के लिए।
Comments
Post a Comment