PROGRAMMING/Android

PROGRAMMING/Android

[JETPACK_Android View] Adapter + ViewBinding

1 Adapter - RecyclerView Adapter, findViewById도 ViewBinding, DataBinding으로 해결해보자 // row_item.xml // CustomViewAdapter.kt class CustomViewAdapter(private val dataSet : ArrayList) : RecyclerView.Adapter(){ class ViewHolder(binding : TextRowItemBinding) : RecyclerView.ViewHolder(binding.root) { val myText : TextView = binding.myText } override fun onCreateViewHolder(parent: ViewGroup, viewType: Int..

PROGRAMMING/Android

[JETPACK_Android View] Databinding과 dataclass

1 DataBinding - 이름처럼 데이터의 연결 역할을 수행하게 해보자 - 데이터 결합 // build.gradle에 databinding 추가! buildFeatures{ dataBinding = true } - Person 데이터 클래스 생성하고, xml 상에서 데이터 세팅 //activity_main.xml // Person.kt data class Person ( val name : String, val age : Int ) (1) 기존에 사용했던 Binding class MainActivity : AppCompatActivity() { // 데이터 바인딩 선언 private lateinit var binding : ActivityMainBinding override fun onCreate(s..

PROGRAMMING/Android

[JETPACK_Android View] DataBinding

1 ViewBinding과의 차이? - 데이터를 연결해주는 역할로 사용할 수 있음 - ViewBinding을 데이터와 같이 결합해서 사용 - LiveData와 함께 활용 가능 2 Activity - layout에 감싸야 Binding에 오류가 나지 않는 점에 유의 ! // activity_main.xml // MainActivity.kt class MainActivity : AppCompatActivity() { private lateinit var binding : ActivityMainBinding override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = DataBindingUtil...

PROGRAMMING/Android

[JETPACK_Android View] ViewBinding

1 ViewBinding 특징 - Null 안전성 : 뷰의 직접 참조를 생성하지 않으므로 뷰 ID 부재에 의한 null 포인터 예외가 발생하지 않음 - 유형 안전성 : 각 바인딩 클래스에 있는 필드 유형이 XML 파일에서 참조하는 뷰와 일치하므로 클래스 변환 예외가 발생하지 않음 2 Activity // build.gradle에 데이터 바인딩 추가 ! buildFeatures{ viewBinding = true } // activity_main.xml // MainActivity.kt class MainActivity : AppCompatActivity() { private lateinit var binding : ActivityMainBinding override fun onCreate(savedIns..

yuujoeng
'PROGRAMMING/Android' 카테고리의 글 목록