Search code examples
kotlinandroid-jetpack-composecomposable

Changing the jetpack compose remember variable from within another function


I am developing an application for android devices, using the jetpack compose library.

Example I created inside a compose function

var taskVeriable = remember {mutableStateOf("Hello World")}

I need to update the value of variable from another compose function. Is there any way to achieve this?

@Composable
fun TestComposeA(){

var taskVeriable = remember {mutableStateOf("Hello World")}

TestComposeB(taskVeriable)

}

@Composable
fun TestComposeB(taskVeriable : String){
taskVeriable = "New Value"
}

I want to know if there is a way to do this.


Solution

  • You can pass mutable state and change it value later:

    @Composable
    fun TestComposeA(){
    
    val taskVeriable = remember {mutableStateOf("Hello World")}
    
    TestComposeB(taskVeriable)
    
    }
    
    @Composable
    fun TestComposeB(taskVeriable : MutableState<String>){
    taskVeriable.value = "New Value"
    }