प्रतिपादन के दौरान उठाया गया अपवाद: मोड 0 का पता लगाने में असमर्थ


91

BuildToolsसंस्करण 25.0.0 में अपडेट होने के बाद ।

compileSdkVersion 25
buildToolsVersion "25"

मुझे एंड्रॉइड लेआउट पूर्वावलोकन के साथ समस्या है। अब यह त्रुटि दिखाता है:

प्रतिपादन के दौरान उठाया गया अपवाद: मोड 0 का पता लगाने में असमर्थ

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

मैंने प्रोजेक्ट को साफ और पुनर्निर्माण करने की कोशिश की, लेकिन यह काम नहीं करता है। अपडेट से पहले सब कुछ अच्छा था।

मुझे पता है कि मैं पिछले संस्करणों में वापस जा सकता हूं BuildTools, लेकिन मैं जानना चाहता हूं कि यह संस्करण पर काम क्यों नहीं करता है 25.0.0?


लगता है जैसे यह एक समस्या है RecyclerView

java.lang.IllegalStateException: Unable to locate mode 0
at android.view.DisplayInfo.findMode(DisplayInfo.java:458)
at android.view.DisplayInfo.getMode(DisplayInfo.java:445)
at android.view.Display.getRefreshRate(Display.java:648)
at android.support.v7.widget.RecyclerView.onAttachedToWindow(RecyclerView.java:2392)
at android.view.View.dispatchAttachedToWindow(View.java:15392)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2953)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2960)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2960)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2960)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2960)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2960)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2960)
at android.view.AttachInfo_Accessor.setAttachInfo(AttachInfo_Accessor.java:42)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:333)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:429)
at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:389)
at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:548)
at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:533)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:966)
at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:533)
at com.android.tools.idea.rendering.RenderTask.lambda$inflate$53(RenderTask.java:659)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

15
25.0.0 के साथ एक बग जैसा दिखता है। मैंने इसके लिए एक समस्या खोली है: code.google.com/p/android/issues/…
Amagi82

2
मुझे compileSdkVersion 24 / buildToolsVersion "24.0.2" के साथ एक ही मुद्दा मिलता है - हालांकि मैंने एंड्रॉइड स्टूडियो को कल एक अपडेट करने दिया (विभिन्न चीजों में, अनिवार्य रूप से कभी भी इसे अपडेट करने के लिए कहा), और मुझे विश्वास है कि इसके बाद टूट गया था।
स्टीवन क्राफ्ट

1
जब @wikipedia.org
IntelliJ Amiya

जवाबों:


111

यह समस्या हल हो गई है, समर्थन लाइब्रेरी को अपडेट करें

compile 'com.android.support:recyclerview-v7:25.0.1'
compile 'com.android.support:appcompat-v7:25.0.1'
compile 'com.android.support:design:25.0.1'

62

यह संस्करण 25 का एक कष्टप्रद बग है .. एक अस्थायी समाधान अपनी परियोजना को अपग्रेड करने के लिए है,

 compile 'com.android.support:appcompat-v7:24.2.1'
 compile 'com.android.support:design:24.2.1'
 compile 'com.android.support:recyclerview-v7:24.2.1'

18

एक और अस्थायी समाधान को बदलने के लिए है <android.support.v7.widget.RecyclerViewके साथ <RecyclerViewताकि आप गाया दृश्य देख सकते हैं। संकलन करते समय, इसे वापस बदल दें<android.support.v7.widget.RecyclerView


7

एंड्रॉइड सपोर्ट लाइब्रेरी पिछड़े-संगत उपयोगिता फ़ंक्शन प्रदान करता है। ऐप्स एंड्रॉइड सिस्टम संस्करणों की एक विस्तृत श्रृंखला में एक उपयुक्त उपयोगकर्ता अनुभव प्रदान करने के लिए इन उपयोगिता कार्यों का उपयोग कर सकते हैं।

यह एक बग समस्या है और समर्थन-डिज़ाइन लाइब्रेरी के भविष्य के रिलीज़ में तय किया जाना चाहिए ।

आपको अस्थायी समाधान के लिए अपने संस्करण को डाउनग्रेड करना चाहिए ।

compile 'com.android.support:appcompat-v7:25.0.1'
compile 'com.android.support:design:v7:25.0.1' 
compile 'com.android.support:recyclerview-v7:25.0.1' 

6

पूर्वावलोकन देखने के लिए मैं इस ट्रिक का उपयोग करता हूं ..... app:layoutManager="0"एक लेआउट एक्सएमएल में recyclerView के लिए जोड़ें

लेकिन यह रन टाइम पर InflateException को फेंक देगा। तो एप्लिकेशन को चलाने से पहले XML लेआउट फ़ाइल से इस संपत्ति को निकालें !


4

अस्थायी समाधान के रूप में आप पुनर्नवीनीकरण दृश्य के बच्चे की कक्षा बना सकते हैं और नीचे दिए गए केवल onAttachedToWindow को ओवरराइड कर सकते हैं। फिर अपने XML लेआउट में इस वर्ग का उपयोग करें

@Override
protected void onAttachedToWindow() {
    if (!isInEditMode()) {
        super.onAttachedToWindow();
    }
}

अपडेट: समर्थन लाइब्रेरी 25.0.1 से शुरू होकर, पहले से ही लाइब्रेरी में शामिल किया गया फिक्स और अब मौजूद नहीं है

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