Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- withContext
- 코틀린 트리거 버튼
- compse collectAsState
- #큐구조 #큐다운로드
- 라이브데이터 postValue
- 1회용컵
- 1회용 플라스틱컵
- 코루틴 job
- 토글 험수
- 안드로이드 비콘
- 데이터바인딩
- json 저장
- 안드로이드 스튜디오 애뮬레이터
- 안드로이드 sms
- Room 데이터베이스 업데이트
- 스레드 #코루틴
- apk이름변경
- compse state
- bluetoothmanager
- 코틀린 이미지저장 #파일저장
- TowmonUSB 연결오류
- TwomonUSB
- var 와 val
- viewmodelscope
- 생분해성 플라스틱
- 일회용 플라스틱
- livedata
- 셀룰로오스-g-폴리락타이드 공중합체
- 플라스틱 생분해
- 안드로이드 mvvm
Archives
- Today
- Total
EnjoyLife
ComposeUI > TextField 에 입력후 출력및 화면 회전시 값 유지 본문
@Preview(showBackground = true)
@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun Test() {
val viewModel: MainViewModel = viewModel()
val inputTxt by viewModel.inputTxt.collectAsState()
val outTxt by viewModel.outTxt.collectAsState()
// var inputTxt by remember {
// mutableStateOf("")
// }
Log.e("Test", "inputTxt: $inputTxt")
//var outTxt by remember { mutableStateOf("") }
Column(
modifier = Modifier
.fillMaxSize()
.padding(16.dp)
) {
TextField(
value = inputTxt,
onValueChange = viewModel::setInputTxt,
modifier = Modifier.fillMaxWidth()
)
Button(
onClick = {
viewModel.setOutTxt(inputTxt)
viewModel.setInputTxt("")
},
modifier = Modifier.align(Alignment.End)
) {
Text("클릭")
}
Text(
text = "출력: $outTxt",
fontSize = 14.sp,
modifier = Modifier.padding(16.dp)
)
}
}
'안드로이드 개발 > JetPack Compse' 카테고리의 다른 글
코틀린의 livedata 와 같은 기능 state (0) | 2023.12.11 |
---|---|
State 사용하는 이유 (0) | 2023.12.11 |
collectAsState 를 사용하는 이유 (0) | 2023.12.11 |