binding = ActivityProfile3Binding.inflate(layoutInflater).apply {
backButton.setOnClickListener { finish() }
blogTextView.setOnClickListener {
startActivity(Intent(Intent.ACTION_VIEW).apply {
data = Uri.parse("https://lionbae.tistory.com")
})
}
setContentView(root)
}
ActivityProfile3Binding.inflate(layoutInflater): ActivityProfile3Binding 클래스의 인스턴스를 생성하고, 해당 인스턴스를 통해 XML 레이아웃을 인플레이트한다. layoutInflater는 현재 컨텍스트에 대한 것을 나타낸다.
.apply { ... }: 이전 단계에서 생성된 ActivityProfile3Binding 인스턴스에 apply 함수를 사용하여 여러 작업을 수행할 수 있는 블록을 제공한다.
backButton.setOnClickListener { finish() }: XML 레이아웃에서 정의된 backButton이라는 뷰에 클릭 리스너를 설정한다. 클릭 시 finish() 메서드를 호출하여 현재 액티비티를 종료한다.
blogTextView.setOnClickListener { ... }: XML 레이아웃에서 정의된 blogTextView라는 뷰에 클릭 리스너를 설정한다.
startActivity(Intent(Intent.ACTION_VIEW).apply { data = Uri.parse("https://lionbae.tistory.com") }): 클릭 시 웹 브라우저를 열어 지정된 URL("https://lionbae.tistory.com")로 이동하는 Intent를 생성하고 액티비티를 시작한다.
setContentView(root): XML 레이아웃의 최상위 루트 뷰를 현재 액티비티의 컨텐츠 뷰로 설정한다.
요약하면 데이터 바인딩을 사용하여 XML 레이아웃과 상호 작용하며, back 버튼 또는 블로그 텍스트 뷰 클릭 시에 각각 액티비티 종료 또는 해당 웹 페이지로 이동하는 동작을 수행한다.
728x90
'앱 개발 > Chapter_Curriculum' 카테고리의 다른 글
[과제] 피드백 (키오스크) (0) | 2024.03.18 |
---|---|
Chapter2 (프로그래밍 문법) (0) | 2024.03.12 |
[미니 프로젝트] ProfileActivity (0) | 2024.02.29 |
TIS (0) | 2024.02.27 |
[미니 프로젝트] SplashActivity, Handler (0) | 2024.02.27 |