<aside> ๐Ÿฆœ DATA BINDING ๋„์ ๊ฑฐ๋ฆผ

</aside>

<aside> ๐Ÿฅจ https://developer.android.com/jetpack/androidx/releases/databinding https://0391kjy.tistory.com/28

</aside>

  1. gradle์— ์ถ”๊ฐ€

    > **build.gradle ( Module : app)**
    
    buildFeatures {
        dataBinding true
    }
    
  2. xml

  3. Activity ์—์„œ ์—ฎ๊ธฐ

    **๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ ์ ์šฉ ์ „** 
    
    class MainActivity : AppCompatActivity() {
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)
            initNavigation()
        }
        private fun initNavigation(){
            val bottomNav = findViewById<BottomNavigationView>(R.id.bottom_navigation)
            val navController = Navigation.findNavController(this,R.id.nav_host_fragment)
            bottomNav.setupWithNavController(navController)
            bottomNav.itemIconTintList = null
        }
    }
    
    **๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ ์ ์šฉ ํ›„**
    
    class MainActivity : AppCompatActivity() {
        private lateinit var binding :ActivityMainBinding
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            initBinding()
            initNavigation()
        }
        private fun initBinding(){
            binding = DataBindingUtil.setContentView(this,R.layout.activity_main)
            binding.lifecycleOwner=this
        }
        private fun initNavigation(){
            val bottomNav = findViewById<BottomNavigationView>(R.id.bottom_navigation)
            val navController = Navigation.findNavController(this,R.id.nav_host_fragment)
            bottomNav.setupWithNavController(navController)
            bottomNav.itemIconTintList = null
        }
    }
    

    Fragment

    **๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ ์ ์šฉ ์ „**
    
    class HomeFragment : Fragment() {
    
        override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?
        ): View? {
            return super.onCreateView(inflater, container, savedInstanceState)
        }
    }
    
    **๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ ์ ์šฉ ํ›„**
    
    class HomeFragment : Fragment() {
        override fun onCreateView(
            inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?
        ): View? {
            val binding = FragmentHomeBinding.inflate(inflater, container, false)
            return binding.root
        }
    }