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




android-studio (5)

इस 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'

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

compileSdkVersion 25
buildToolsVersion "25"

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

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

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

मुझे पता है कि मैं BuildTools पिछले संस्करणों पर वापस जा सकता 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)

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

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

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


यह संस्करण 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'

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

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


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