91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android開發教程 - 使用Data Binding(三)在Activity中的使用

發布時間:2020-06-17 18:50:05 來源:網絡 閱讀:465 作者:羅伊德666 欄目:移動開發

本系列目錄

  • 使用Data Binding(一)介紹
  • 使用Data Binding(二)集成與配置
  • 使用Data Binding(三)在Activity中的使用
  • 使用Data Binding(四)在Fragment中的使用
  • 使用Data Binding(五)數據綁定
  • 使用Data Binding(六)RecyclerView Adapter中的使用
  • 使用Data Binding(七)使用BindingAdapter簡化圖片加載
  • 使用Data Binding(八)使用自定義Interface
  • 使用Data Binding Android Studio不能正常生成相關類/方法的解決辦法

修改activity布局

如果使Activity支持Data Binding,在布局的最外層加入"<layout>"標簽即可,由于是加在最外層,所以即使重構現有工程,所做的修改也非常簡單,并不會影響現有的布局結構。

以下以MainActivity進行舉例。

修改前activty_main.xml的布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center"
    >

    <TextView
        android:id="@+id/tv_example"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="16sp"
        />

</LinearLayout>

修改后activty_main.xml的布局:

<?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">

    <data>

    </data>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:gravity="center"
        >

        <TextView
            android:id="@+id/tv_example"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="16sp" />

    </LinearLayout>
</layout>

這里的<data>標簽中的元素放的是頁面所需的數據,后面的文章我們會講到,也可以直接點擊這里查看,這里我們暫且放一下,重點講Activity中Data Binding的使用。

在Activity中進行綁定

上面我們修改了布局后,下面我們就可以在代碼中進行數據綁定了。此時工程中會自動生成該布局對應的java綁定文件:ActivityMainBinding。仔細觀察就會發現,這個文件名就是將布局的下劃線形式轉換成java規范的駝峰形式,后面加上Binding。

下面進入MainActivity.java中下面我們進行數據綁定操作。

如果寫代碼過程中發現IDE并沒有自動正確生成對應的Binding類,則參考這篇文章:Android Studio不能正常生成相關類/方法的解決辦法,僅需幾步操作即可使IDE正常生成:

  1. 定義成員變量:
private ActivityMainBinding mBinding;
  1. 在onCreate()中初始化mBinding
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    mBinding = DataBindingUtil.setContentView(this, R.layout.activity_main);
    mBinding.tvExample.setText("Binding Text");
}

此時就可以從mBinding中獲取到布局中的所有View了,比如上面的mBinding.tvExample。

總結

Activity中使用Data Binding很簡單,省去了模版化的代碼findViewById(),也避免了使用ButterKnife等第三方庫,省時省力。

除了獲取布局中的元素,后續的文章我們會講到如何設置布局中的數據,可以點擊這里查看。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

色达县| 贺兰县| 丰原市| 蒙城县| 安顺市| 青州市| 宁海县| 渭源县| 南康市| 民勤县| 罗源县| 色达县| 轮台县| 白城市| 连山| 余江县| 浏阳市| 张家港市| 波密县| 鲜城| 和平区| 阳曲县| 东至县| 吉林省| 浮山县| 宜兰县| 温宿县| 汤阴县| 新邵县| 徐汇区| 游戏| 汽车| 青川县| 洪泽县| 东乌| 沅江市| 白山市| 会泽县| 陆丰市| 青浦区| 东乡族自治县|