त्रुटि: समस्याओं का प्रतिपादन निम्नलिखित वर्गों को android.support.v7.internal.widget.ActionBarOverlayLayout नहीं मिला।


97

मैं एंड्रॉइड ऐप डेवलपमेंट के लिए सिर्फ एक शुरुआत हूं। जब मैंने एंड्रॉइड स्टूडियो 1.1.0 पर एक नई परियोजना बनाई, तो यह इस त्रुटि को " समस्याओं का प्रतिपादन करता है। निम्न वर्ग को android.support.v7.internal.widget.ActionBarOverlayLayout नहीं मिल सका "

अब मैंने Google पर इसके बारे में खोज की है, और मैंने संभवतः अधिकांश लोगों द्वारा दिए गए 3 समाधान ढूंढे हैं।

वे कहते हैं:

  1. या तो एप्पी को बदलें (पूर्वावलोकन विंडो फलक से) 22 से 21 तक, या

  2. ऐप थीम को "प्रोजेक्ट थीम" से किसी अन्य विषय में बदलें।

  3. अपनी परियोजना संरचना में सही appcompat-v7 पुस्तकालय आयात किया जाना सुनिश्चित करें -> निर्भरताएँ, इन चरणों का संदर्भ लें : निर्भरता अनुभाग में समर्थन लाइब्रेरी सुविधा प्रोजेक्ट पहचानकर्ता जोड़ें। उदाहरण के लिए, appcompat प्रोजेक्ट को संकलित करने के लिए "com.android.support:appcompat-v7:18.0.+" निर्भरता अनुभाग में जोड़ें, जैसा कि निम्नलिखित उदाहरण में दिखाया गया है:

dependencies {
    ...
    compile "com.android.support:appcompat-v7:18.0.+" }

नोट: मेरा android support lib अद्यतित है (इसे SDK Manager का उपयोग करके इंस्टॉल किया गया है)।

पहले दो चरणों का पालन करते हुए, त्रुटि को दूर किया। लेकिन मुझे लगता है कि ये स्थायी समाधान नहीं हैं, दूसरा कदम एक अस्थायी समाधान की तरह लगता है। मुझे पहले चरण के बारे में भी संदेह है, कि यदि त्रुटि को दूर करने के लिए, हम एपीआई को 22 से 21 तक बदलते हैं, तो अंत में, हमारा ऐप एंड्रॉइड 5.1.1 (एपीआई 22) में काम नहीं करेगा, यह एंड्रॉइड 5.0 तक सीमित रहेगा .1 और केवल नीचे (एपीआई 21)। क्या मेरे संदेह वैध हैं? तीसरे चरण के बारे में, क्या यह इस समस्या का स्थायी समाधान है?

पुनश्च: बेमेल टैग के लिए क्षमा करें, साइट प्रतिष्ठा के कारण सटीक टैग जोड़ने की अनुमति नहीं थी


1
मेरे लिए, यहां तक ​​कि पहले दो चरणों में समस्या हल नहीं होती है ... मुझे उन सभी लेआउट के साथ "प्रतिपादन की समस्याएं" मिल रही हैं, जिनके पास android.support से विचार हैं। *। यह निराश करने वाला है!
user1987392

जवाबों:


162

रेस / मान / स्टाइल को ठीक करें। xml ऐसा करें:

<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar"/>

अनुरोध के अनुसार विस्तृत विवरण: वैसे भी Theme.AppCompat.Light.DarkActionBarसुपरक्लास का एक उपवर्ग है Base। उस पर Ctrl + क्लिक (Android स्टूडियो) और आपको स्रोत पर ले जाया जाएगा:

<style name="Theme.AppCompat.Light.DarkActionBar" parent="Base.Theme.AppCompat.Light.DarkActionBar" />

हमने कुछ भी नहीं बदला, हमने इसे अधिक सटीक रूप से परिभाषित किया।


29
वाह, एंड्रॉइड स्टूडियो में आउट ऑफ बॉक्स अनुभव क्या है।
वारेन पी

6
अगर मैं "Theme.AppCompat.Light.NoActionBar" का उपयोग करना चाहता हूं तो क्या?
हसीब जादौन

4
अजीब तरह से, शब्द "आधार।" मेरे लिए काम किया। "आपका समूचा मूल हमारा है।"
SMBiggs

1
मेरे लिए भी काम किया ... मैं एक पुराने ऐप पर काम कर रहा हूं और आधार ने त्रुटि को ठीक कर दिया है!
सैयद यज़्दानी

1
विषय को ठीक से परिभाषित करना समस्या को ठीक क्यों करता है?
रॉबर्ट

28

यह एक ज्ञात बग है जो एंड्रॉइड स्टूडियो 1.1 का निर्माण करता है (यह 1.2 और 1.3 पूर्वावलोकन में अभी भी है)। पूर्वावलोकन का एपीआई स्तर 22 से 21 तक स्विच करना अधिकांश लोगों के लिए ठीक करता है। एक फिक्स के लिए इंतजार करते हुए आप इसे भी आजमा सकते हैं।

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

मूल रूप से यहां उत्तर दिया गया है: एंड्रॉइड स्टूडियो वी 1.1 / 1.2 में प्रतिपादन समस्याएं

बस रिपोटिंग कर रहे हैं


16

संशोधित src / Res / मान / स्टाइल। xml

<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar"></style>

तब API22 चुनें, आपको यह समस्या ठीक हो जाएगी!


3

इस त्रुटि के बाद, मैं उपयोग कर रहा हूं:

API-22 Android 5.1.1 और अभी भी यह समस्या मौजूद है। लेकिन आप Android स्टूडियो टूलबार में सबसे ऊपर चुन सकते हैं:

Material Light -> Material Light

और फिर आप टूलबार और लाइट थीम के साथ पूर्वावलोकन देख सकते हैं।

उम्मीद है की यह मदद करेगा।


1

मैंने होलो डार्क थीम पर स्विच करके इस समस्या को ठीक किया, फिर ऐप थीम पर वापस आ गया। मैंने अभी-अभी व्यूअर के ऊपर का बटन क्लिक किया है जो कहता है कि एंड्रॉइड स्टूडियो में रोटेट व्यू के बगल में ऐप थीम है। लगभग 10% समय, यह अकेले काम नहीं करता है और मुझे भी दर्शक के एपीआई को 22 से 19 को बदलना होगा।

पता नहीं यह क्यों काम करता है, लेकिन ऊपर दिए गए सुझाव मेरे काम नहीं आए।


0

आपको विषय बदलने की आवश्यकता नहीं है। हो सकता है कि आपका एक्शन सिर्फ गतिविधि के बजाय एक्शनबैक्टिविटी (पदावनत) बढ़ा रहा हो। इसे बदलें, और परियोजना का निर्माण करें।


नए नियम @Kleyton, ActionBarActivity (जो अब पदावनत है) को विस्तारित करने के बजाय, AppCompatActivity (Google android डेवलपर पेजों के अनुसार) का विस्तार करने की सलाह दी जाती है।
आशीष गोयल

0

यदि आप ActionBarActivity से गतिविधि को केवल गतिविधि में बदलते हैं, तो गतिविधि को स्वयं आयात करना न भूलें। अर्थात्

आयात android.app.Activity

यह बेकार है, लेकिन हे, यह उनकी गलती है और हमारी नहीं है।

इसके अलावा, आप केवल "AppTheme" दबाकर थीम बदल सकते हैं और Holo.Light.DarkActionBar चुन सकते हैं। यह अपने आप स्टाइल। Xml फ़ाइल को अपडेट कर देता है। उसके बाद, प्रोजेक्ट का पुनर्निर्माण करें।

मैंने ये सब किया और यह मेरे लिए काम करता है, हालांकि मुझे लगता है कि Google और IntelliJ के लोगों को इस प्रतिपादन की समस्या के बारे में कुछ करना चाहिए क्योंकि हमें बताया गया है कि ग्रहण से एंड्रॉइड स्टूडियो में जाना है।


नए नियम आए हैं भाई! ActionBarActivity (जो अब पदावनत है) का विस्तार करने के बजाय, यह AppCompatActivity (Google android डेवलपर पेजों के अनुसार) का विस्तार करने की सलाह दी जाती है।
आशीष गोयल

क्या यह उसी तरह से काम करता है जैसे गतिविधि करता है? और क्या यह एक्सएमएल प्रतिपादन मुद्दों का ख्याल रखता है?
आंद्रेकॉन

Google android डेवलपर पृष्ठों के अनुसार, यह (AppCompatActivity) उन सभी बातों का ध्यान रखता है जो ActionBarActivity करती थी
आशीष गोयल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.