【发布时间】:2023-03-06 16:34:01
【问题描述】:
我一直在使用android.support.v7.widget 包——特别是RecyclerView 类(除其他外,这就是问题所在)。
直到今天早些时候它都运行良好,现在似乎随机默认为早期版本的软件包。我这么说是因为:
- 当我尝试调用
myRecyclerView.addOnScrollListener(myScrollListener)、myRecyclerView.getChildAdapterPosition(myView)等时,Android Studio 给出了编译错误Cannot resolve method ...。 - 如果我将其更改为
myRecyclerView.setOnScrollListener(myScrollListener)(即使用set而不是add),它可以正常工作并且不会显示已弃用的错误,因为该方法已被弃用。
我不知道为什么它在我之前一直在使用并且能够使用这些方法进行编译时现在显示错误 - 似乎它使用的是早期版本的 android.support.v7.widget 库但我不知道为什么会或如何解决它...
编辑:我的 build.gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.myapp.app"
minSdkVersion 15
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
repositories {
mavenCentral()
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.google.android.gms:play-services:6.5.87'
compile 'com.android.support:support-v4:21.0.3'
compile 'com.balysv:material-ripple:1.0.2'
compile 'com.facebook.android:facebook-android-sdk:4.1.0'
compile 'com.github.castorflex.smoothprogressbar:library-circular:1.0.1'
compile 'com.github.rey5137:material:1.1.1'
compile 'com.android.support:design:22.2.0'
compile 'com.joooonho:selectableroundedimageview:1.0.1'
compile 'com.rengwuxian.materialedittext:library:2.1.3'
}
【问题讨论】:
-
这并不是真正的 Android Studio 决定的。决定您的库版本的是您的 gradle 构建文件。您的支持库的 gradle 文件中有什么。
-
新的android v7支持是
22.2.0,你可以从dependencies更改它 -
我有一些自定义依赖项,
v7:21.0.3appcompat 库和v4:21.0.3支持库。 (如果你愿意,我可以添加截图) -
通过添加依赖
'com.github.gabrielemariotti.cards:cardslib-recyclerview:2.1.0',实际上是添加了recyclerview 依赖。看看:github.com/gabrielemariotti/cardslib/blob/master/… -
cardslib-recyclerview 2.1.0使用compile 'com.android.support:recyclerview-v7:22.1.1'
标签: android android-studio gradle android-support-library android-recyclerview