【问题标题】:Where is the RecyclerView in the support library?支持库中的 RecyclerView 在哪里?
【发布时间】:2017-10-08 17:28:30
【问题描述】:

我正在开发一个使用 RecyclerView 组件的应用程序。我正在检查我的 build.gradle 文件,它有这些依赖项:

compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:cardview-v7:25.3.1'
compile 'com.android.support.constraint:constraint-layout:1.0.0-beta5'
compile 'com.android.support:design:25.3.1'
testCompile 'junit:junit:4.12'
compile 'com.android.support:support-v4:25.3.1'

项目中没有“com.android.support:recyclerview-v7:25.3.1”,但我有一个 RecyclerView (android.support.v7.widget.RecyclerView)。

以上哪些包还包含 RecyclerView?还是我对支持库包有什么不明白的地方?

【问题讨论】:

标签: android android-recyclerview android-support-library


【解决方案1】:

上面的哪些包还包含 RecyclerView?

没有。 RecyclerViewrecyclerview-v7 中。

或者我对支持库包有什么不明白的地方?

designrecyclerview-v7 有传递依赖。因此,通过依赖design,您的应用程序也依赖于recyclerview-v7。这是自动为您处理的。

你可以进一步简化你的依赖,因为design依赖于appcompat-v7,所以你不需要自己请求appcompat-v7

// compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:cardview-v7:25.3.1'
compile 'com.android.support.constraint:constraint-layout:1.0.0-beta5'
compile 'com.android.support:design:25.3.1'
testCompile 'junit:junit:4.12'
compile 'com.android.support:support-v4:25.3.1'

然后,注释掉support-v4 依赖,看看你是否有构建问题。很可能,您从那里使用的东西已经被其他东西拉入了,因此您的build.gradle 文件中也不需要该依赖项。

您可以阅读有关传递依赖的更多信息here

【讨论】:

  • 我明白了。 design包含 RecyclerView 的代码,但这取决于包含的包。我注释掉了appcompatsupport-v4,它编译时没有错误。谢谢你的解释。
【解决方案2】:

只需将其添加到您的应用程序 gradle 中

编译“com.android.support:recyclerview-v7:25.3.1

【讨论】:

    猜你喜欢
    • 2014-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-03
    • 1970-01-01
    • 1970-01-01
    • 2012-03-09
    • 1970-01-01
    相关资源
    最近更新 更多