我想做一个列表的机器人,我从我的数据库在firebase,但我不知道为什么文本()的BotList()不显示在屏幕上,虽然实现似乎是正确的,非常感谢.
class DiscoverActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
FluctusTheme {
val navController = rememberNavController()
DiscoverActivityUI(navController)
}
}
}
}
@SuppressLint("UnusedMaterialScaffoldPaddingParameter")
@Composable
fun DiscoverActivityUI(navController: NavController?) {
val systemUiController = rememberSystemUiController()
DisposableEffect(systemUiController) {
systemUiController.setStatusBarColor(
color = backgroundColor,
)
systemUiController.setNavigationBarColor(
color = white
)
onDispose {}
}
Scaffold(
modifier = Modifier.fillMaxSize(),
bottomBar = { BottomNavigationBar(navController = navController) }
) {
Surface(
color = backgroundColor,
modifier = Modifier.fillMaxSize()
) {
** BotList() **
}
}
}
@Composable
fun BotList() {
val botData = BotData()
LaunchedEffect(Unit) {
botData.mutableBotList.clear()
botData.updateBotList()
}
LazyColumn(
modifier = Modifier.fillMaxWidth()
) {
**items(botData.mutableBotList) { bot ->
bot.name?.let { Text(text = it, style = TextStyle(fontSize = 16.sp)) }
bot.type?.let { Text(text = it, style = TextStyle(fontSize = 14.sp)) }
bot.profit_percent?.let { Text(text = it, style = TextStyle(fontSize = 12.sp)) }**
}
}
}
个字符
懒惰列中的文本不会显示在屏幕上,尽管实现似乎是正确的,非常感谢。
1条答案
按热度按时间ss2ws0br1#
首先为你的Bots数据添加ViewModel。
字符串
接下来将视图模型添加到您的活动中。
型
将ViewModel传递到BotsList可组合。
型
最后使用
observeAsState
处理ViewModel数据,当数据发生变化时,组合函数将重新组合,在本例中,当updateBotList
中调用mutableBotLiveData.value = mutableBotList
。型