Guy Bieber
08/25/2020, 8:12 PMromainguy
08/25/2020, 9:06 PMText("my state is ${myValue}"
Guy Bieber
08/25/2020, 9:32 PMMark Murphy
08/25/2020, 10:01 PMmyValue
?Guy Bieber
08/25/2020, 10:06 PMclass BasicStatusDataModel<T> (
...
value : T, // wrapped mutable
...
) {
var value by mutableStateOf(value)
package com.nikolamotor.test
import android.os.Bundle
import android.os.Handler
import androidx.appcompat.app.AppCompatActivity
import androidx.compose.foundation.Text
import androidx.compose.material.MaterialTheme
import androidx.compose.material.Surface
import androidx.compose.runtime.Composable
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.ui.platform.setContent
import com.nikolamotor.test.ui.TestTheme
class MainActivity : AppCompatActivity() {
class Data (
count : Int = 0
) {
var count = mutableStateOf(count)
}
var data = Data()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
TestTheme {
Surface(color = MaterialTheme.colors.background) {
Greeting()
}
}
}
increment()
}
fun increment () {
Handler(this.getMainLooper()).postDelayed({
data.count.value++
increment()
}, 1000)
}
@Composable
fun Greeting() {
var data = remember { data }
Text(text = "Hello ${data.count.value}!")
}
}
package com.nikolamotor.test
import android.os.Bundle
import android.os.Handler
import androidx.appcompat.app.AppCompatActivity
import androidx.compose.foundation.Text
import androidx.compose.material.MaterialTheme
import androidx.compose.material.Surface
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.ui.platform.setContent
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue
import com.nikolamotor.test.ui.TestTheme
class MainActivity : AppCompatActivity() {
class Data <T> (
count : T
) {
var count by mutableStateOf(count)
}
var data = Data<Int>(0)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
TestTheme {
Surface(color = MaterialTheme.colors.background) {
Greeting()
}
}
}
increment()
}
fun increment () {
Handler(this.getMainLooper()).postDelayed({
data.count++
increment()
}, 1000)
}
@Composable
fun Greeting() {
var data = remember { data }
Text(text = "Hello ${data.count}!")
}
}
romainguy
08/25/2020, 10:55 PMvar
stored? You may need to remember{}
it it’s just declared in a composable functionGuy Bieber
08/25/2020, 11:27 PM@Composable
override fun view () {
//var mDataModel = remember {dataModel}
val drawerState = rememberBottomDrawerState(dataModel.drawerState)
BottomDrawerLayout(
drawerState = drawerState,
gesturesEnabled = true,
drawerContent = {
drawerView()
},
bodyContent = {
baseView()
}
)
}
Changing dataModel.drawerState to BottomDrawerValue.Open has no effect.