9

मेरे पास मेरे main.xml लेआउट में दो बटन के साथ एक सूचीदृश्य है। एक बटन के क्लिक पर मैं गतिशील रूप से एक टेक्स्टव्यू बना रहा हूं और उपयोगकर्ता इंटरैक्शन की पुष्टि करने के लिए स्क्रीन के नीचे इसे जोड़ रहा हूं। जब उपयोगकर्ता दूसरे बटन (पुष्टि बटन) पर क्लिक करता है, तो मुझे उस पाठ को सूचीदृश्य में जोड़ना होगा। लैंडस्केप मोड का समर्थन करने के लिए, मेरे पास लेआउट-लैंड फ़ोल्डर में एक ही लेआउट फ़ाइल है। जब मैं 1 बटन पर क्लिक करता हूं तो यह कुछ पाठ के साथ एक टेक्स्टव्यू बना रहा है और स्क्रीन के नीचे जोड़ रहा है। अब यदि डिवाइस अभिविन्यास बदलता है तो यह लैंडस्केप main.xml लोड कर रहा है और गतिविधि दोबारा पुन: प्रयास कर रही है। तो मेरा टेक्स्टव्यू ढह गया है। मैं उन्मुखीकरण परिवर्तन पर गतिविधि के मनोरंजन को कैसे रोक सकता हूं। (लेकिन इसे अन्य लेआउट फ़ाइल लेनी चाहिए)।एंड्रॉइड: अभिविन्यास परिवर्तन पर गतिविधि को पुन: प्रयास करना बंद करें

+0

http://stackoverflow.com/questions/456211/activity-restart-on की तरह होना चाहिए -रोटीशन-एंड्रॉइड –

उत्तर

26

बस androidmanifest.xml में गतिविधि टैग संपादित करें।

<activity 
      android:configChanges="keyboardHidden|orientation" 
      android:name=".testActivity" 
      android:label="@string/app_name"></activity> 
+22

नए एंड्रॉइड संस्करणों में 'एंड्रॉइड का उपयोग करें: configChanges = "कीबोर्ड हिडन | ओरिएंटेशन | स्क्रीनसाइज" ' – jhavatar

+0

इसके लिए बड़ी मदद धन्यवाद! –

+1

यह लेआउट परिवर्तन को अक्षम करता है। मुझसे इसका समाधान किस प्रकार होगा? – Remian8985

5

आपके आवेदन लक्ष्य एपीआई स्तर 12 या उससे पहले तो अपनी गतिविधि हमेशा इस विन्यास परिवर्तन ही संभालती है, तो आप screenSize

जोड़ना चाहिए (इस विन्यास परिवर्तन अपनी गतिविधि को पुनः आरंभ नहीं करता है, तब भी जब एंड्रॉइड 3.2 या उच्चतर डिवाइस पर चल रहा है)।

एपीआई स्तर में जोड़ा गया 13.

तो यह इस

<activity 
       android:configChanges="keyboardHidden|orientation|screenSize" 
       android:name=".testActivity" 
       android:label="@string/app_name"></activity> 

http://developer.android.com/guide/topics/manifest/activity-element.html

संबंधित मुद्दे