Why LazyColumn does not recompose when data updets JetPack compose

29 views Asked by At

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

0

There are 0 answers