| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- ViewModel
- 클리어에디트텍스트
- 코틀린
- Kotlin
- compose
- jetpack compose
- 라이브데이터
- ClearEditText
- LiveData
- 옵저빙
- Copose 장점
- 연간 회고록
- 이제 느껴본 신세계
- x버튼에디트텍스트
- 회고록
- 산전수전겪으니체감된다
- EditText
- 안드로이드
- 뷰모델
- 커스텀뷰
- 산전수전 겪어보니 체감함
- lifecycle
- 옵저버패턴
- Android
- 2023년 회고록
Archives
- Today
- Total
SANDY
Jetpack Compose @Composable 함수 안에서 Context 사용하기 본문

위 처럼 Activity나 Fragment 같은 View클래스 내에서는 View의 Context를 참조해서 사용할 수 있지만,
외부의 @Composable 함수 내부에서는 View 의 Context를 참조할 수 가 없다.
안드로이드 개발을 하다보면 Context를 참조해야 하는 일이 많다.
그렇다면 Composable 함수 내에서는 Context를 어떻게 사용해야할까?
간단하다. @Composable 함수 내에서 LocalContext를 사용해 현재의 Context를 가져올 수 있다.
val context = LocalContext.current
# 주의점 : @Composable 함수의 scope 내에서만 LocalContext를 활용해 Context를 참조할 수 있다.
잘못된 예시)

@Composable 함수의 scope가 아니다 clickable{ } 람다 함수의 스코프 내의 범위에서 LocalContext.current를 가져오려고 했으므로 당연히 가져올 수 없다고 밑줄이 생긴다.

이런 식으로 @Composable함수의 scope 내에서 LocalContext.current값을 얻으면 된다.
Compose의 장점인 것 같다. Context를 함수의 파라미터로 외부에서 주입받지 않아도 Context를 사용할 수 있다.
'Android > Compose' 카테고리의 다른 글
| 안드로이드 스튜디오 Compose Preview 모드에서 클릭 이벤트 사용하기 (0) | 2024.03.05 |
|---|---|
| Jetpack Compose 공부를 시작하며 느끼는 장점 (0) | 2024.02.25 |
Comments