【问题标题】:Android RecyclerView ErrorAndroid RecyclerView 错误
【发布时间】:2014-11-09 16:57:59
【问题描述】:

今天我尝试使用新的 android RecyclerView。 我创建了一个带有空白活动的新项目,并将以下内容添加到其布局中:

<android.support.v7.widget.RecyclerView
    android:id="@+id/my_recycler_view"
    android:scrollbars="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

在我添加的 gradle 构建依赖项中:

compile 'com.android.support:support-v4:21.0.0'
compile 'com.android.support:recyclerview-v7:21.+'
compile 'com.android.support:cardview-v7:21.+'

但 activity_main.xml 渲染仍然显示以下错误:

Rendering Problems The following classes could not be instantiated:
- android.support.v7.widget.RecyclerView (Open Class, Show Exception)
Tip: Use View.isInEditMode() in your custom views to skip code or show sample data when shown in the IDE  Exception Details java.lang.UnsupportedOperationException: Unsupported Service: accessibility   at com.android.layoutlib.bridge.android.BridgeContext.getSystemService(BridgeContext.java:465

我自己似乎没有在网络上找到解决方案,因为每个人都说“在你的 gradle 构建中实现以下依赖项:...”我已经添加了。

谁能提供解决方案?

问候 tak3r07

编辑: 创建:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

【问题讨论】:

  • 从 onCreate() 添加你的代码。您可能会在那里遗漏一些东西。
  • @mt0s 添加了 - 但我还没有更改任何内容,因为它是一个全新的项目。
  • 请检查我的答案

标签: java android xml gradle android-recyclerview


【解决方案1】:

我认为使用 RecyclerView 你至少要设置布局管理器。

如果您阅读文档here

与其他适配器支持的视图(如 ListView 或 GridView)相比,RecyclerView 允许客户端代码提供自定义布局 安排孩子的意见。这些安排由 RecyclerView.LayoutManager。 必须提供一个 LayoutManager RecyclerView 来运行。

您可以在实例化 RecyclerView 后尝试这样设置 LayoutManager:

recyclerView.setLayoutManager(new LinearLayoutManager(this));

(稍后将其更改为更适合您需求的LayoutManager

【讨论】:

  • 抱歉回答得晚了,我没有时间继续这个项目。我现在已经创建了一个 LinearLayoutManager 和一个适配器,并将两者都添加到了 recyclerview,但我仍然得到同样的错误。
  • @Tak3r07 LayoutManager 无法在 xml 中设置,这就是 RecyclerView 无法预览的原因。
【解决方案2】:

这似乎是 Android SDK 21 中的一个错误。如果您升级到 SDK 22,问题应该会消失。

【讨论】:

    【解决方案3】:

    我知道这个话题有点老了,但问题仍然存在,这是一个已知的错误。

    不管怎样,这个bug似乎很接近获得补丁:

    https://code.google.com/p/android/issues/detail?id=72117

    【讨论】:

      【解决方案4】:

      只需升级到 SDK 22 即可解决问题

      【讨论】:

        【解决方案5】:

        只需在 xml 查看器中更改屏幕顶部的 Api 级别并将其设为 21 api 级别即可。希望对你有帮助。

        【讨论】:

          【解决方案6】:

          在 build.gradle 文件中的 dependencies 块下添加这一行

          implementation 'com.android.support:recyclerview-v7:25.1.0'
          

          【讨论】:

            【解决方案7】:

            一切看起来都不错,尝试进行 Invalidate chache/restart。我会为你工作。可能有问题。

            【讨论】:

            • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
            【解决方案8】:

            您好,希望对您有所帮助 您必须从视图中删除滚动条属性

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2021-12-29
              • 1970-01-01
              • 2019-03-04
              • 2021-02-06
              • 2021-01-11
              • 1970-01-01
              相关资源
              最近更新 更多