![](/img/trans.png)
[英]Jetpack Compose - rememberCoroutineScope but with keys
[英]Cannot access rememberCoroutineScope() with jetPack Compose
我無法訪問rememberCoroutineScope()
並且我將 android studio 更新到最新版本,所以我該如何解決這個問題,
無法訪問 class 'kotlinx.coroutines.CoroutineScope'。 檢查您的模塊類路徑是否存在缺失或沖突的依賴項
在主要活動中,我有
import androidx.compose.runtime.rememberCoroutineScope
但仍然無法正常工作。
plugins {
id 'com.android.application'
id 'kotlin-android'
}
android {
compileSdk 31
defaultConfig {
applicationId "com.example.navigationdrawer_navigationmenu_jetpackcompose"
minSdk 21
targetSdk 31
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables {
useSupportLibrary true
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
useIR = true
}
buildFeatures {
compose true
}
composeOptions {
kotlinCompilerExtensionVersion compose_version
kotlinCompilerVersion '1.5.10'
}
packagingOptions {
resources {
excludes += '/META-INF/{AL2.0,LGPL2.1}'
}
}
}
dependencies {
implementation 'androidx.core:core-ktx:1.7.0'
implementation 'androidx.appcompat:appcompat:1.4.0'
implementation 'com.google.android.material:material:1.4.0'
implementation "androidx.compose.ui:ui:$compose_version"
implementation "androidx.compose.material:material:$compose_version"
implementation "androidx.compose.ui:ui-tooling-preview:$compose_version"
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.4.0'
implementation 'androidx.activity:activity-compose:1.4.0'
testImplementation 'junit:junit:4.+'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
androidTestImplementation "androidx.compose.ui:ui-test-junit4:$compose_version"
debugImplementation "androidx.compose.ui:ui-tooling:$compose_version"
implementation("androidx.navigation:navigation-compose:2.4.0-beta02")
}
buildscript {
ext {
compose_version = '1.0.0'
}
repositories {
google()
mavenCentral()
}
dependencies {
classpath "com.android.tools.build:gradle:7.0.3"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.10"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
package com.example.navigationdrawer_navigationmenu_jetpackcompose
import android.os.Bundle
import com.example.navigationdrawer_navigationmenu_jetpackcompose.ui.theme.NavigationDrawerNavigationMenuJetpackComposeTheme
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.runtime.Composable
import androidx.compose.ui.platform.LocalContext
import androidx.navigation.compose.rememberNavController
import androidx.compose.runtime.rememberCoroutineScope
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
NavigationDrawerNavigationMenuJetpackComposeTheme {
NavigationDrawer()
}
}
}
}
@Composable
fun NavigationDrawer() {
val context = LocalContext.current
val navController = rememberNavController()
val scope = rememberCoroutineScope() // error here :
}
我從 beta 更新后解決了這個問題 jetback compose,沒有 kotlinx.coroutines 所以如果你想要 kotlinx.coroutines 並使用:import androidx.compose.runtime.rememberCoroutineScope 和 rememberCoroutineScope()
在 Android 上使用 kotlinx.coroutines 時,只需添加 kotlinx-coroutines-android 模塊作為依賴項:
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.0")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.