1、在app的build.gradle文件的android節點中添加以下內容:
buildFeatures { dataBinding = true }
2. 將光標停留在一個布局xml文件的根布局處,點擊Alt+Enter,選中第一個選項:Convert to data binding layout,如下圖所示:
3、生成如圖的結構
此時就可以在DataBindingTemp這個Activity中使用視圖綁定了。如果只是想代替findViewById,只需忽略掉xml文件中的data節點即可。
通過androidx.databinding.DataBindingUtil工具類在Activity和Fragment中使用
4、在Activity中使用
class MyLayActivity : AppCompatActivity() { private lateinit var binding: ActivityMyLayBinding override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) //setContentView(R.layout.activity_my_lay) binding = DataBindingUtil.setContentView(this,R.layout.activity_my_lay) binding.laytext.text = "這是文本顯示" } }
5、在Fragment中使用
override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { mBinding=DataBindingUtil.inflate(inflater,R.layout.fragment_login,container,false) return mBinding.root }
6、DataBinding 的集成:點擊AIL+Enter , 沒有出現【convert to data binding layout】怎么辦?
最近開始使用databinding,看了網上教程開始一通操作,誰知在xml就開始受挫,我按Alt+Enter就是不出現
convert to data binding layout的選項,在百度一通,沒有看到一個說這個問題的。最后我在設置里面終於找到了,防止各位走彎路,給出解決方法:
在Android studio中選擇 File ->Settings -> Intentions 然后搜索 convert to data binding layout ,打上對鈎,如圖:
然后就可以執行上面第 2步了