1. 程式人生 > 其它 >Kotlin學習筆記 - 1. View Binding

Kotlin學習筆記 - 1. View Binding

1、View Binding

一、Enabling View Binding

 1 android {
 2 
 3     // module級別的build.gradle檔案中新增下名的配置
 4     // 會自動為xml檔案生成binding class
 5     // 命名規則是Pascal case  + Binding
 6     // 可在XML中新增屬性來遮蔽生成binding class
 7     // tools:viewBindingIgnore="true"
 8     buildFeatures {
 9         viewBinding true
10     }
11 }

二、Using View Binding in Activities

 1 class MainActivity : AppCompatActivity() {
 2 
 3     private lateinit var binding: ActivityMainBinding
 4 
 5     override fun onCreate(savedInstanceState: Bundle) {
 6         super.onCreate(savedInstanceState)
 7         binding = ActivityMainBinding.inflate(layoutInflater)
8 val view = binding.root 9 setContentView(view) 10 11 // ... 12 13 } 14 } 15 16 17 binding.myButton.setOnClickListener { // Button Tapped } 18 binding.myTextView.text = "View Binding is the best!"

三、Using View Binding in Fragments

inflate methos

 1 class DemoInflateFragment : Fragment() {
2 3 private var fragmentDemoBinding: FragmentDemoBinding = null 4 5 // 注意是在onCreateView中inflate內容,所以AsyncLayoutInflater不適應Fragment 6 override fun onCreateView(inflater: LayoutInflater, container: ViewGroup, savedInstanceState: Bundle): View { 7 val binding = FragmentDemoBinding.inflate(inflater, container, false) 8 fragmentDemoBinding = binding 9 10 binding.myButton.setOnClickListener { 11 // Button Tapped 12 } 13 14 binding.myTextView.text = "View Binding is the best!" 15 16 return binding.root 17 } 18 override fun onDestroyView() { 19 // View不見時Fragment可以存在 20 fragmentDemoBinding = null 21 super.onDestroyView() 22 } 23 }