小编Duq*_*uqe的帖子

Android Compose 具有单一事件

现在我在 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)

events android state snackbar android-jetpack-compose

14
推荐指数
3
解决办法
2万
查看次数

Android:带有数字的可绘制资源.可能吗?

我想知道我能否以某种方式创建一个名为787.png的可绘制资源(例如png).因为Eclipse不会让我编译项目,除非我修改它.

提前致谢.

resources android numbers drawable

6
推荐指数
1
解决办法
3812
查看次数

Android:从网上下载图片并在gridview上显示

我想创建一个从网页获取一些图像的程序,并在gridview上显示它们.我完全不知道他们中有多少人.它可能是20到30.我会用asynctask做的,我以前已经使用过,或多或少知道它是如何工作的.但我不知道这次使用哪种方式.

现在,我想要的是在下载图像时的进度条(圆圈点击).一旦下载,它就会消失,图像会加载.我将使用带适配器的对象数组来填充gridview.

你会用哪种方式使用asynctask?

提前致谢.

android image download android-asynctask

2
推荐指数
1
解决办法
4201
查看次数