본문 바로가기

프로그래밍/Kotlin51

[kotlin] BottomNavigationView 프래그먼트의 *.xml과 *.kt 코드를 생성하는 부분은 해당 포스트에서는 생략합니다. activity_main.xml @menu/bottom_menu.xml 더보기 res폴더 우클릭 - New - Android Resource Directory 선택후 Resource type에서 menu를 선택하고 생성하면 menu 패키지가 자동으로 생성됩니다. res/drawable/폴더에 아래 세개의 아이콘을 넣습니다. MainActivity.kt 필자는 Oncreate에 해당 코드를 생성했습니다. binding.bottomNavigationview.setOnItemSelectedListener { item -> when (item.itemId) { R.id.home -> { supportFragmentManage.. 2022. 8. 10.
[Kotlin] TabLayout XMl을 만들때 androidx.viewpager.widget.ViewPager가 아닌 androidx.viewpager2.widget.ViewPager2로 만들어야 한다! 아니면 어댑터가 들어가지않는다 ViewPager에서 봤듯 FragmentStatePagerAdapter는 deprecated 되었으며 FragmentStateAdapter 로 대체되었다. FragmentStatePagerAdapter -> FragmentStateAdapter PagerAdapter -> RecyclerView.Adapter addPageChangeListener -> registerOnPageChangeCallback 때문에 FragmentStatePagerAdapter와 비슷하게 작동한다. 그리고 Docs에서 Fr.. 2022. 8. 9.
[Kotiln] RecyclerView 맨 아래로 스크롤시 다음 페이징 불러오기 RecyclerView를 이용해 DB에서 데이터를 100개중 50개를 가져왔다고 치자, 그럼 맨 아래로 스크롤 되었을때 나머지 50개를 추가로 불러와야 하는데 그럴때는 아래 코드를 사용하면된다. var pastVisiblesItems: Int = 0 var visibleItemCount: Int = 0 var totalItemCount: Int = 0 recyclerView.addOnScrollListener( object : RecyclerView.OnScrollListener() { override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) { if (dy > 0) //check for scroll down { visibleItemCo.. 2022. 7. 28.
[kotlin] Singletone #0 static 자바의 static처럼 코틀린에서도 인스턴스가 단 하나임을 보장하는 클래스를 만들 수 있습니다. 싱글턴 인스턴스는 전역적으로 사용될 수 있으며, 메모리를 효율적으로 이용할 수 있습니다. #1 Object 코틀린에서는 클래스 이름앞에 object 키워드를 붙이면 곧바로 싱글톤 클래스가 됩니다. 하지만 이경우에는 생성자를 호출하지 않는 클래스에서만 사용할 수 있습니다. import android.util.Log // 싱글톤 클래스를 만들려면 앞에 object 를 붙이면 된다. object MyObjectSingleton { fun printMsg(msg: String) { Log.d("MyObjectSingleton", "msg: $msg") } } #2 companion object 생성.. 2022. 7. 26.