如何在jetpack compose中获取带有刀柄外部活动的视图模型

Ali*_*aji 4 android viewmodel android-jetpack-compose android-navigation-graph dagger-hilt

所以我有一个名为“ListScreen”的 kotlin 文件(它不是一个类!只是一个具有可组合函数的 .kt 文件),我正在使用组合导航图系统处理事务。现在我正在尝试访问“ListScreen”文件中ViewModel指示的我的。@HiltViewModel显然,在过去,有一种方法ViewModels可以像这样使用刀柄进行访问: viewModel: PokemonListViewModel = hiltNavGraphViewModels() 但现在不起作用。我该怎么做?

这是我的ViewModel课:

@HiltViewModel
class PokemonListViewModel @Inject constructor(
private val repository: PokemonRepository
) : ViewModel() {


fun calcDominantColor(
    drawable: Drawable,
    onFinish: (Color) -> Unit
) {
    val bmp = (drawable as BitmapDrawable).bitmap.copy(Bitmap.Config.ARGB_8888, true)

    Palette.from(bmp).generate { palette ->
        palette?.dominantSwatch?.rgb?.let {
            onFinish(Color(it))

        }

    }
}
}
Run Code Online (Sandbox Code Playgroud)

这是不起作用的代码块:

 @Composable
fun PokedexEntry(
    entry: PokedexListEntry,
    navController: NavController,
    modifier: Modifier = Modifier,
    viewModel: PokemonListViewModel = hiltNavGraphViewModels()

) 
Run Code Online (Sandbox Code Playgroud)

Raf*_*iul 6

hiltNavGraphViewModels() 现已弃用。请改用 hiltViewModel()。

来自安卓文档。

Deprecated: Use hiltViewModel() instead.. Replace with: "hiltViewModel()".
Run Code Online (Sandbox Code Playgroud)

https://developer.android.com/reference/kotlin/androidx/hilt/navigation/compose/package-summary#hiltNavGraphViewModel()