现在我在 ViewModel 中有一个 Event 类,它以 Flow 的方式公开:
abstract class BaseViewModel() : ViewModel() {
...
private val eventChannel = Channel<Event>(Channel.BUFFERED)
val eventsFlow = eventChannel.receiveAsFlow()
fun sendEvent(event: Event) {
viewModelScope.launch {
eventChannel.send(event)
}
}
sealed class Event {
data class NavigateTo(val destination: Int): Event()
data class ShowSnackbarResource(val resource: Int): Event()
data class ShowSnackbarString(val message: String): Event()
}
}
Run Code Online (Sandbox Code Playgroud)
这是管理它的可组合项:
@Composable
fun SearchScreen(
viewModel: SearchViewModel
) {
val events = viewModel.eventsFlow.collectAsState(initial = null)
val snackbarHostState = remember { SnackbarHostState() }
val coroutineScope = …Run Code Online (Sandbox Code Playgroud) 我想知道我能否以某种方式创建一个名为787.png的可绘制资源(例如png).因为Eclipse不会让我编译项目,除非我修改它.
提前致谢.
我想创建一个从网页获取一些图像的程序,并在gridview上显示它们.我完全不知道他们中有多少人.它可能是20到30.我会用asynctask做的,我以前已经使用过,或多或少知道它是如何工作的.但我不知道这次使用哪种方式.
现在,我想要的是在下载图像时的进度条(圆圈点击).一旦下载,它就会消失,图像会加载.我将使用带适配器的对象数组来填充gridview.
你会用哪种方式使用asynctask?
提前致谢.