2017-08-11 159 views
0

Recyclerview渲染错误,此错误阻止预览整个布局,因此我无法看到我应用的更改。我寻找解决方案,但没有任何相关的这个错误帮助。Android Recyclerview渲染错误

java.lang.NoSuchMethodError: android.support.v4.view.ViewCompat.getDisplay(Landroid/view/View;)Landroid/view/Display; at android.support.v7.widget.RecyclerView.onAttachedToWindow(RecyclerView.java:2502) at android.view.View.dispatchAttachedToWindow(View.java:15395) 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.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:368) at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:567) at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:549) at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:863) at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:549) at com.android.tools.idea.rendering.RenderTask.lambda$inflate$1(RenderTask.java:680) 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)

+0

哪个版本使用(Recyclerview)? –

+0

编译 'com.android.support:recyclerview-v7:25.3.1' – DiRiNoiD

+0

compileSdkVersion 25 buildToolsVersion '25 .0.2' – DiRiNoiD

回答

0

java.lang.NoSuchMethodError: android.support.v4.view.ViewCompat.getDisplay(Landroid/view/View;)Landroid/view/Display; at android.support.v7.widget.RecyclerView.onAttachedToWindow(RecyclerView.java:2502) at android.view.View.dispatchAttachedToWindow(View.java:15395)

CHANGE

android { 
    compileSdkVersion 26 
    buildToolsVersion '26.0.1' 

    defaultConfig { 
    targetSdkVersion 26 
    } 

compile 'com.android.support:recyclerview-26.0.1' 

从预览节Clean-Rebuild-Restart &选择API等级26后。

+0

我已经做了设置,但它仍然给出了警告 – DiRiNoiD

+0

@IlyasDirin https://issuetracker.google.com/issues/36997736 –

+0

@IlyasDirin'以下类无法实例化recyclerview'另一个问题。我希望你克服' NoSuchMethodError'问题 –

1

gradlesync中添加以下行。

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

我有这个相同的错误。 尝试在您的RecyclerView中删除您的android:animateLayoutChanges

祝你好运