【发布时间】:2015-02-03 15:31:01
【问题描述】:
我正在尝试将 CardView 作为官方示例添加到我的活动中。但它不起作用。
如果我直接运行我的项目,会导致 java.lang.ClassNotFoundException: android.support.v7.widget.CardView .
【问题讨论】:
-
@Blackbelt,现在是 21.0.3
我正在尝试将 CardView 作为官方示例添加到我的活动中。但它不起作用。
如果我直接运行我的项目,会导致 java.lang.ClassNotFoundException: android.support.v7.widget.CardView .
【问题讨论】:
你应该把它添加到你的build.gradle:
dependencies {
...
implementation 'com.android.support:cardview-v7:21.+'
implementation 'com.android.support:recyclerview-v7:21.+'
...
}
【讨论】:
随着 Android 9.0(API 级别 28)的发布,有一个名为 AndroidX 的新版本支持库
并且支持库将被停用...
将以下内容添加到buld.gradle:app
dependencies {
...
implementation 'androidx.recyclerview:recyclerview:1.0.0'
implementation 'androidx.cardview:cardview:1.0.0'
...
}
【讨论】:
写下我的答案以提供:
1)
compileSdkVersion 27的更新版本。2) 使用
implementation而不是compile- What's the difference between implementation and compile in Gradle?。3) 一个完整的版本号,以注意 Android Studio 显示的
Avoid using + in version numbers; can lead to unpredictable and unrepeatable builds..,警告。4)
build.gradle (Module:app)位置的视觉效果。5)因为我无法在@Eun 的回答下方写评论。
您需要在 build.gradle [Module:app] 中粘贴implementation 'com.android.support:cardview-v7:27.1.1',例如:MyFirstApplication -> app -> build.gradle
粘贴以下依赖子句:
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
...
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:cardview-v7:27.1.1'
...
}
从 Android Studio 本身打开:(从左侧开始)1:Project -> Select Android view -> Gradle Scripts -> build.gradle (模块:app)
即:
(如果下图没有显示可以找图片here.
使用 Android Studio 3.1.4
编辑:更新的版本号。
【讨论】:
都是因为依赖和android版本问题。
解决方案:
对于 RecyclerView:
<androidx.recyclerview.widget.RecyclerView/>
代替: 对于卡片视图: 代替: **或者简单地从调色板面板中搜索并拖放、CardView、RecyclerView ..等。 对于支持 AndroidX 的依赖项: 请转至本文查看完整说明:
https://medium.com/@daryllwong/recyclerview-cardview-is-not-working-properly-dependency-problems-in-2019-e813ab48b3d4<androidx.cardview.widget.CardView/>
implementation 'androidx.recyclerview:recyclerview:1.1.0'
implementation 'androidx.cardview:cardview:1.0.0'
【讨论】:
dependencies {
...
compile 'com.android.support:cardview-v7:26.+'
compile 'com.android.support:recyclerview-v7:26.+'
...
}
【讨论】:
由于缓存的 cardview aar 损坏,我遇到了这个问题。
Gradle 正在选择本地缓存版本的 cardview。也可以通过更改库版本来工作,但请确保您没有覆盖 configurations.all
解决方案:
关闭 Android Studio,
在 Windows 中转到 C:\Users\Qamar\.gradle\caches 并搜索 cardview 删除您的版本文件夹,清理并重建。
使用:Android Studio 3.3 和gradle:3.2.1
【讨论】:
在你的 xml 文件中更改 android.support.v7.widget.CardView 到 androidx.cardview.widget.CardView
【讨论】:
点击右上角的立即同步
【讨论】:
为避免添加 CardView 时出错,您可以使用 Android Studio 工具。在主菜单中打开“Project structure...”,然后打开“Dependencies”、“+”和“cardview”在搜索行中。
目前,Android Studio 将 'androidx.cardview:cardview:1.0.0' 行添加到您的 build.gradle 文件中。然后你可以在你的布局中使用“androidx.cardview.widget.CardView>”。
也许一两年后版本或包名会改变。
【讨论】: