最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android DataBinding手把手入門教程

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

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

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

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

并選擇Convert to data binding layout自動轉換。

轉換之后效果應和下圖類似:

可以看到頁面出現了新的Layout和data的空標簽。(data 就是用來存放數據的)

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

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

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

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

4、再次返回你的視圖,綁定你的數據如下:

<?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()的數據的數據類型"/>

然后,綁定變量如:

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

綁定方法是注意:如:

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

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

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

操作控件案例截圖:

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

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

相關文章

最新評論

天门市| 延安市| 涞水县| 昌图县| 砚山县| 肃南| 西平县| 陇西县| 沭阳县| 桦甸市| 罗江县| 札达县| 太康县| 枞阳县| 合山市| 清涧县| 泾川县| 轮台县| 策勒县| 玉田县| 柏乡县| 揭阳市| 阿尔山市| 桐庐县| 荃湾区| 赞皇县| 达尔| 澳门| 桑日县| 平泉县| 郴州市| 邹城市| 鹤壁市| 杨浦区| 藁城市| 鄱阳县| 商都县| 额敏县| 陆丰市| 陈巴尔虎旗| 定陶县|