[英]UI List not updating jetpack compose with mutableList but data updates
為什么我的列表沒有更新? 我昨天花了一整天,調試這個和研究,但我找不到任何可以幫助我的東西。 我的片段中有一個伴侶 object,它最初是一個空的 mutableList:
class MainTillLayoutFragment : Fragment() {
companion object {
var mBasket = mutableListOf<Product?>()
}
...
}
我有一個名為 addToBasket 的方法。 它獲取“產品”項作為參數並將其添加到 mBasket:
private fun addToBasket(product: Product) {
mBasket.add(product)
println("PRODUCTS ADDED NEW BASKET IS $mBasket")
}
然后我有一個可組合的 function,它在 items() function 中使用 mBasket 來遍歷每個產品並在lazyColumn的每一行中顯示一個文本:
LazyColumn(
modifier = Modifier
.background(color = Color.Red)
.fillMaxSize(),
content = {
items(mBasket) {
if (it != null) {
Text(text = it.name)
}
}
}
)
數據確實會更新但是 UI 沒有,上面的代碼有什么問題我應該嘗試一下嗎?
提前謝謝大家:)
我找到了修復如果有人需要它,而不是使用 mutableListOf<>(),嘗試使用 mutableStateListOf<>(),它應該跟蹤 STATE 並自動為您重新組合視圖!
在我的情況下,而不是
var mBasket = mutableListOf<Product?>()
我應該做的
var mBasket = mutableStateListOf<Product?>()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.