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
- 당뇨 소모성 재료
- 원스휴먼 동물
- 테슬라 오늘시황
- 소모성 재료 등록
- 당뇨 소모성 재료 지원
- 원스휴먼 먹이
- 원스휴먼 황금양털파밍
- 원스휴먼 레시피 파밍
- 원스휴먼 스타크롬
- 당뇨 소모성 재료 처방전 없이
- 실버 해안 리조트 비밀상자
- 소모성 재료 건강보험공단
- 소모성 재료
- 원스휴먼 요리
- 실버 해안 리조트 거주지 탐색
- 레시피 파밍
- 원스휴먼 황금양
- 테슬라 시황
- 원스휴먼 쿠폰
- 원스휴먼 황금양 구하기
- 거주지 탐색
- 당뇨 소모성 재료 한시적 특례
- 유광버섯 통조림
- 실버 해안 리조트
- 당뇨 소모성 재료 환급
- 원스휴먼 레시피
- 원스휴먼 사료
- 2차 비상계엄
- 테슬라 방산진출
- 소모성 재료 환급
Archives
- Today
- Total
0101011001010111
Android - [여기서 @는 뭘 뜻하는 걸까 ?] 예 : Intent(this@FirstActivity, SecondActivity::class.java) 본문
Kotlin/[스스로]Kotlin&안드로이드
Android - [여기서 @는 뭘 뜻하는 걸까 ?] 예 : Intent(this@FirstActivity, SecondActivity::class.java)
[진주] 2023. 9. 4. 08:29728x90
반응형
binding.firstbuttonGosecond.setOnClickListener {
val intent = Intent(this@FirstActivity, SecondActivity::class.java)
startActivity(intent)
}
뷰바인더를 사용하다가 이 @는 왜 써줘야하나, 의미를 찾아보기로 했다.
먼저 위 내용이 있는 전체 코드를 보자
FirstActivity.kt
package com.example.test
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import com.example.test.databinding.ActivityFirstBinding
class FirstActivity : AppCompatActivity() {
private lateinit var binding: ActivityFirstBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityFirstBinding.inflate(layoutInflater)
setContentView(binding.root)
// 바로 리스너 설정
binding.firstbuttonGosecond.setOnClickListener {
val intent = Intent(this@FirstActivity, SecondActivity::class.java)
startActivity(intent)
}
}
}
포스팅을 하던 중, inner 클래스가 궁금하여 정리해보았다. ▼
https://vjinjoov.tistory.com/manage/posts/
FirstActivity의 onCreate 메서드 안에서는 기본적으로 this가 FirstActivity 인스턴스를 참조합니다.
그러나 setOnClickListener 람다의 안쪽에서는 this가 람다를 의미하게 됩니다.
람다식 또는 익명 내부 클래스 내에서 바깥쪽 클래스의 this를 참조하고 싶을 때 @를 사용하여 명시적으로 바깥쪽 클래스를 지정해줍니다.
이 경우, setOnClickListener 내부에서 this만 사용하면 그것은 View.OnClickListener의 인스턴스를 참조하게 됩니다. 따라서 FirstActivity의 인스턴스를 참조하고 싶을 때 this@FirstActivity를 사용합니다.
간단하게 표현하면, 우리가 setOnClickListener 람다 내부에서 있는데 FirstActivity를 명시적으로 가리키기 위해서 @를 사용한 것입니다.
728x90
반응형
'Kotlin > [스스로]Kotlin&안드로이드' 카테고리의 다른 글
4-2 인텐트 연결해보기 (1) | 2023.09.05 |
---|---|
Android 입문 (복습) intent (0) | 2023.09.04 |
Android - inner Class (0) | 2023.09.04 |
입문 - 복습 / 액티비티 (0) | 2023.09.04 |
viewBinding 사용법 정리 (0) | 2023.08.31 |