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

來源:互聯網
上載者:User

標籤:沒有   http   頁面   height   重點   xmlns   abi   example   教程   

修改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
@Overrideprotected 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等第三方庫,省時省力。

除了擷取布局中的元素,後續的文章我們會講到如何設定布局中的資料,可以點擊這裡查看。

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.