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




android-studio (4)

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

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

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

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' 

BuildTools को अद्यतन करने के बाद संस्करण BuildTools पर।

compileSdkVersion 25
buildToolsVersion "25"

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

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

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

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

ऐसा लगता है कि यह 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)

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

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

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


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

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


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

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'






android-studio