未解决的参考:TabLayoutMediator
Unresolved reference: TabLayoutMediator
我正在开发一个 android 应用程序,它需要 TabLayout
绑定到 ViewPager2
。阅读 and following the code in here,我需要使用TabLayoutMediator
。但是在导入它时,我遇到 Unresolved reference
错误。我知道这个错误指的是什么,但我找不到导致错误的依赖项和内容的任何问题。正如第二个 link 中提到的,这个 class 包含在 androidx.viewpager2:viewpager2:1.0.0-beta03
中,它是 link 所谈论内容的更新版本。我还尝试将版本降级到 link 中提到的版本,但效果不佳。这是我的 build.gradle
文件:
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
android {
compileSdkVersion 29
buildToolsVersion "29.0.2"
defaultConfig {
applicationId "com.example.myapp"
minSdkVersion 19
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'androidx.core:core-ktx:1.0.2'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.2.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
implementation 'androidx.legacy:legacy-support-core-utils:1.0.0'
implementation 'com.google.android.material:material:1.0.0'
implementation 'androidx.viewpager2:viewpager2:1.0.0-beta03'
}
这是我的 MainActivity
文件:
package com.example.myapp
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import androidx.viewpager2.widget.ViewPager2
import com.google.android.material.tabs.TabLayout
import com.google.android.material.tabs.TabLayoutMediator
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val viewpager : ViewPager2 = findViewById(R.id.view_pager)
val demoAdapter = DemoViewPagerAdapter(this)
viewpager.adapter = demoAdapter
val tabs : TabLayout = findViewById(R.id.tab_layout)
TabLayoutMediator(tabs, viewpager) { tab, position ->
tab.text = demoAdapter.getPageTitle(position)
}
}
}
对我应该做什么有什么想法吗?
我建议您阅读此 Styling Android ViewPager tutorial
它解释了如何使用您正在寻找的东西,因为我看到您没有使用相同的导入来处理,您可以改用这些吗:
implementation "com.google.android.material:material:1.1.0-alpha07"
implementation "androidx.viewpager2:viewpager2:1.0.0-alpha05"
but how is it possible that the newer versions of these two dependencies cause the problem?!
您必须检查这些库的更改日志以查看发生了什么,尽管您使用的是 Beta
版本。
我正在开发一个 android 应用程序,它需要 TabLayout
绑定到 ViewPager2
。阅读TabLayoutMediator
。但是在导入它时,我遇到 Unresolved reference
错误。我知道这个错误指的是什么,但我找不到导致错误的依赖项和内容的任何问题。正如第二个 link 中提到的,这个 class 包含在 androidx.viewpager2:viewpager2:1.0.0-beta03
中,它是 link 所谈论内容的更新版本。我还尝试将版本降级到 link 中提到的版本,但效果不佳。这是我的 build.gradle
文件:
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
android {
compileSdkVersion 29
buildToolsVersion "29.0.2"
defaultConfig {
applicationId "com.example.myapp"
minSdkVersion 19
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'androidx.core:core-ktx:1.0.2'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.2.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
implementation 'androidx.legacy:legacy-support-core-utils:1.0.0'
implementation 'com.google.android.material:material:1.0.0'
implementation 'androidx.viewpager2:viewpager2:1.0.0-beta03'
}
这是我的 MainActivity
文件:
package com.example.myapp
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import androidx.viewpager2.widget.ViewPager2
import com.google.android.material.tabs.TabLayout
import com.google.android.material.tabs.TabLayoutMediator
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val viewpager : ViewPager2 = findViewById(R.id.view_pager)
val demoAdapter = DemoViewPagerAdapter(this)
viewpager.adapter = demoAdapter
val tabs : TabLayout = findViewById(R.id.tab_layout)
TabLayoutMediator(tabs, viewpager) { tab, position ->
tab.text = demoAdapter.getPageTitle(position)
}
}
}
对我应该做什么有什么想法吗?
我建议您阅读此 Styling Android ViewPager tutorial
它解释了如何使用您正在寻找的东西,因为我看到您没有使用相同的导入来处理,您可以改用这些吗:
implementation "com.google.android.material:material:1.1.0-alpha07"
implementation "androidx.viewpager2:viewpager2:1.0.0-alpha05"
but how is it possible that the newer versions of these two dependencies cause the problem?!
您必须检查这些库的更改日志以查看发生了什么,尽管您使用的是 Beta
版本。