class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
//1,화면이 클릭되었다는 것을 프로그램이 알아야함
val image1 = findViewById<ImageView>(R.id.bts_image_1)
image1.setOnClickListener {
Toast.makeText(this, "1번 클릭완료", Toast.LENGTH_SHORT).show()
}
}
}
onCreate()
-> 액티비티가 처음 생성될 때 호출되는 함수(필수적으로 구현!)
-> Activity 클래스를 상속받으면 반드시 onCreate() 함수를 오버 라이딩
-> activity가 만들어질 때 단 한번만 호출 된다.
-> activity를 만들 때 단 한번만 하면 되는 작업들은 여기에서 해준다.'
setContentView()
-> 원하는 레이아웃의 리소스id를 전달하면 해당 레이아웃이 출력
-> R.layout.activity_main
-> R :res 폴더 / layout : R의 내부 클래스 / activity_main : 레이아웃의 이름
val 변수이름 = findViewById<>()
->리소스 id를 통해서 레이아웃에 있는 뷰 객체들 중 일치하는 뷰를 가져오는 메소드
-> 그 전에 setContentView와 같은 메소드로 xml에 있는 리소스들을 지정한 속성에 맞게 인스턴스를 생성하여 메모리에 로드하는 인플레이션 과정이 필요
-> <> : 어떤 종류의 뷰?
-> () : 뷰의 id
setOnClickListener{}
-> 버튼 클릭과 같이 이벤트 발생했을때만 호출
-> 변수id.으로 어느 변수에 설정해줄지!
-> {클릭했을때 어떤 이벤트 생성?}
Toast.makeText().show()
-> 용자에게 짧은 메시지 형식으로 정보를 전달하는 팝업
-> 메시지를 표시할 공간만 차지하고 시간이 지나면 자동으로 사라지는 메시지
-> 첫번째 인자=context :
애플리케이션에 대한 전역 정보를 제공하는 인터페이스
애플리케이션의 실행 환경에 대한 정보를 포함하며, 애플리케이션의 리소스 및 클래스에 대한 접근을 제공
안드로이드 시스템 서비스와 애플리케이션 간의 상호작용을 위한 핵심 개념
-> 두번째 인자 : 사용자에게 보여줄 문자열
-> 세번째 인자 : Toast 메시지를 화면에 띄우는 시간
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
//1,화면이 클릭되었다는 것을 프로그램이 알아야함
val image1 = findViewById<ImageView>(R.id.bts_image_1)
image1.setOnClickListener {
Toast.makeText(this, "1번 클릭완료", Toast.LENGTH_SHORT).show()
//2, 화면이 클릭되면 다음 화면으로 넘어가서 사진을 크게 보여줌
var intent = Intent(this, Bts1Activity::class.java)
startActivity(intent)
}
}
}
![]() | ![]() |
---|