使用RecyvlerView在渲染期间引发异常

时间:2016-12-19 16:21:57

标签: android android-recyclerview recyclerview-layout

我正在尝试在我的应用中使用RecyclerView。代码:

活动:

public class TecnicoActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.tecnicolayout);
}
}

布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent">

<android.support.v7.widget.RecyclerView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentTop="true"
    android:layout_alignParentStart="true" />
</RelativeLayout>

这样,我在布局窗口中收到错误消息:

Exception raised during rendering:
android.support.v4.view.ViewCompat.getDisplay(Landroid/view/View;)Landroid/view/Display;(Details)

单击详细信息可显示此例外:

java.lang.NoSuchMethodError: android.support.v4.view.ViewCompat.getDisplay(Landroid/view/View;)Landroid/view/Display;
at android.support.v7.widget.RecyclerView.onAttachedToWindow(RecyclerView.java:2447)
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.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$70(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)

我的gradle文件:

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:22.2.1'
testCompile 'junit:junit:4.12'
compile 'com.android.support:design:22.2.0'
compile 'com.android.support:recyclerview-v7:+'
}

如何摆脱这个错误?

1 个答案:

答案 0 :(得分:1)

反复提问 [渲染期间引发的异常:无法找到模式0

Exception raised during rendering: Unable to locate mode 0

使用最新的谷歌库

app level gradle编译

这样做

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

其中2x.x.x是最新google apk库的当前版本

在这篇文章发表时它是

  

25.3.1

相关问题