본문 바로가기

분류 전체보기92

리사이클 레코드 보여주기 안드로이드 앱에서 리스트로 보여주는 것은 많은 비율을 차지한다.아이템을 리스트 업할때 매번 레코드를 생성하는 것이 아니라 메모리 절약을 위해 재활용 하는방법을 보여준다. 리스트 업할 데이터를 생성하고Custom Adapter를 정의한다.Custom Adapter는 RecyclerView.Adapter를 상속 받아야 한다.RecyclerView.Adapter는 제네릭 클래스 이기 때문에 RecyclerView.ViewHolder( .. )를 상속받은 클래스를 상속받아야 함. RecyclerView.ViewHolder( .. )를 상속받은 Holder 클래스를 생성하자.RecyclerView.ViewHolder( .. ) 상속할때 binding을 넘겨 주어야 한다.이 바인딩은 한 레코드의 대한 바인딩이다.v.. 2024. 10. 2.
액티비티간 데이터 주고 받기 MainActivity메인 액티비티 에서 인텐트를 생성하고 인텐트에 putExtra 함수를 통해서 서브 액티비티로 전송한다.startAcitivity(intent)를 실행하면 전달만 하고startActivity(intent, num)을 실행하면 리턴을 받는다.override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(binding.root) with (binding) { button.setOnClickListener { view-> var intent = Intent(this@MainActivity, SubActivity::class.. 2024. 10. 2.
common 위젯 사용 (seekBar, toggle, progress bar, spiner Seek Bar 사용with (bindingContent) { val seekBarListener = object : SeekBar.OnSeekBarChangeListener { override fun onProgressChanged(seekBar: SeekBar?, progress: Int, fromUser: Boolean) { if (fromUser) { // 동작시키고 있을때만 실행 textView.text = "${progress}" } } override fun onStartTrackingTouch(p0: SeekBar?) {} override fun onStopTrackin.. 2024. 10. 2.
체크박스 리스너 등록 체크 박스의 경우 그룹이 없기 때문에 리니어 레이아웃을 사용한다.리니어 레이아웃이 상단이고,하위에 Buttons->CheckBox를 3개를 넣자.  리니어 레이아웃의 Constraint를 양방향으로 등록해주고,리니어 레이아웃의 layout_width와 layout_height을 wrap_content로 설정하면 가운데 정렬이 된다. 레이아웃 오브젝트를 접근하기 위하여 뷰 바인딩을 사용한다.(이전 챕터 참고)check 박스 ID : checkApple, checkBanana, checkKiwi 첫번째 방법은 아래와 같이 checkApple 리스너를 등록한다.with(binding) { checkApple.setOnCheckedChangeListener {button, isChecked -> .. 2024. 10. 2.