मैंने एक द्विभाषी (दो भाषाओं के साथ) एंड्रॉइड एप्लिकेशन बनाया है। मैं दो फ़ाइलों में अपने संसाधन तार डाला है:स्क्रीन रोटेशन के बाद, मेरे आवेदन की भाषा बदल दी जाएगी
For Persian language (default)
values/strings_locale.xml
For English language
values-en/strings_locale.xml
मैं अपनी पहली शुरूआत गतिविधि मैं निम्नलिखित कोड डाला है:
Configuration c = new Configuration(this.getResources().getConfiguration());
c.locale = new Locale("fa_IR");
this.getResources().updateConfiguration(c, this.getResources().getDisplayMetrics());
तो इस कोड के बाद, मेरे डिफ़ॉल्ट भाषा फारसी और के सभी हो जाएगा सभी गतिविधियों में तारों को फारसी भाषा में सही तरीके से दिखाया गया है।
लेकिन समस्या तब होती है जब डिवाइस की स्क्रीन घुमाया जाता है, सभी तार अंग्रेजी में दिखाए जाते हैं और यह अन्य सभी गतिविधियों के लिए भी होता है! और मुझे अपने आवेदन को बंद करना और फिर से खोलना है।
ऐसा क्यों होता है और मैं इस समस्या को कैसे हल कर सकता हूं?
चेक [इस दस्तावेज़] (http://developer.android.com/guide/components/activities.html), जब रोटेशन के बाद गतिविधि को फिर से बनाया जाता है, ऊपर दिया गया कोड शायद फिर से नहीं चलाया जाता है ... सुनिश्चित करें कि आप उस स्थान पर कोड डाल दें जहां इसे घूर्णन के बाद फिर से संसाधित किया जा सके। – Mikel