Why LazyColumn does not recompose when data updets? data really updates I see it in log:
Column(
modifier = Modifier
.fillMaxSize()
.padding(5.dp),
horizontalAlignment = Alignment.CenterHorizontally
) {
val returnItemsList by viewModel.data.observeAsState(emptyList())
val returnLiveData by viewModel.returnLiveData.observeAsState()
Text(
modifier = Modifier.clickable {
for (i in returnItemsList) Log.d(TAG, "returnItemsList ${i.amount} ${i.returnType} ")
},
text = returnLiveData?.clientName ?: "",
color = colorResource(id = R.color.gray_600),
fontWeight = FontWeight.Bold,
fontSize = dimensionResource(id = R.dimen.spinner_main).value.sp,
textAlign = TextAlign.Center
)
LazyColumn(
modifier = Modifier
.fillMaxWidth()
.padding(paddingValues)
) {
items(items = returnItemsList, key = { item -> item.returnItemId }) { item ->
ReturnContentItem(item) {
inputViewModel.setItem(it)
viewModel.openInputDialog(it)
}
}
}
ViewModel: var data: MutableLiveData<List> = MutableLiveData() withContext(Dispatchers.IO) {
data.postValue(db.productDao().getReturnProduct(SimpleSQLiteQuery(query))) }`
Try to change var to val , use remember in fragment