欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android DataBinding手把手入門教程

 更新時間:2021年10月09日 10:50:52   作者:€€-飛翔 -~£  
2015年谷歌I/O大會上介紹了一個框架DataBinding,DataBinding是一個數(shù)據(jù)綁定框架,以前我們在Activity里寫很多的findViewById,現(xiàn)在如果我們使用DataBinding,就可以拋棄findViewById

1、在build.gradle(Module)里引入依賴,然后重構(gòu)(sync Now):

android {
    ......
 
    dataBinding{
        enabled true
    }
}

2、找到想要改為dataBinding視圖的頁面,alt+enter彈出如下:

并選擇Convert to data binding layout自動轉(zhuǎn)換。

轉(zhuǎn)換之后效果應(yīng)和下圖類似:

可以看到頁面出現(xiàn)了新的Layout和data的空標(biāo)簽。(data 就是用來存放數(shù)據(jù)的)

3、接下來到對應(yīng)的Activity里,聲明全局變量為視圖去掉下劃線改大寫+binding:

如視圖為activity_main,則對應(yīng)聲明的databinding類型變量就是ActivityMainBinding類型,如下:

此時在Oncreate()里輸入如下代碼:

//binding的對象實(shí)例化,第二個參數(shù)為對應(yīng)的視圖id
//binding=DataBindingUtil.setContentView(this,視圖id);
binding= DataBindingUtil.setContentView(this,R.layout.activity_data_banding_test);
 
//你的ViewModel實(shí)例化,ViewModel部分就不再詳細(xì)講了,也可以用其他類型數(shù)據(jù)
viewModelWithDataBanding=new ViewModelProvider(this,new ViewModelProvider.NewInstanceFactory()).get(ViewModelWithDataBanding.class);
 
//將你準(zhǔn)備好的數(shù)據(jù),可以是ViewModel,通過binding.setData();綁定到視圖
binding.setData(viewModelWithDataBanding);
//設(shè)置綁定的生命周期,這句很必要?。?!
binding.setLifecycleOwner(this);

4、再次返回你的視圖,綁定你的數(shù)據(jù)如下:

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools">
 
    <data>
        <variable
            name="data"
            type="com.example.mytests.viewModels.ViewModelWithDataBanding"
            />
    </data>
 
    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".activities.DataBandingTest">
 
        <TextView
            android:id="@+id/textView2_1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@{String.valueOf(data.number)}"
            android:textSize="30sp"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintVertical_bias="0.257" />
 
        <Button
            android:id="@+id/button2_1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button"
            android:onClick="@{()->data.add()}"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/textView2_1" />
    </androidx.constraintlayout.widget.ConstraintLayout>
</layout>

首先,聲明變量<variable name="你自定義變量名,data" type="你之前.setData()的數(shù)據(jù)的數(shù)據(jù)類型"/>

然后,綁定變量如:

android:text="@{你自定義變量名.變量下的數(shù)據(jù)}";

綁定方法是注意:如:

android:onClick="@{()->data.add()}",需在方法前添加()->表示這是方法。

5、在視圖對應(yīng)的activity中可通過你聲明的綁定對象來訪問對應(yīng)的視圖控件,如:

需要設(shè)置id為button12的點(diǎn)擊事件,可直接用綁定對象.button12.setOnclickListener(this);來操作,減少了代碼的重復(fù)性,簡潔美觀。

操作控件案例截圖:

以上為DataBinding的簡單使用教程,希望大家支持!

到此這篇關(guān)于Android DataBinding手把手入門教程的文章就介紹到這了,更多相關(guān)Android DataBinding內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論