Android DataBinding使用詳解


簡介

DataBinding是一個自動綁定UI的框架。

使用DataBinding需要在app根目錄的build.gradle文件中加入DataBinding配置:

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

新版本Android Studio創建的項目都默認引入。

使用

新建一個TestActivity繼承AppCompatActivity,代碼如下:

public class TestActivity extends AppCompatActivity {
    private ActivityTestBinding binding;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        binding = ActivityTestBinding.inflate(getLayoutInflater());
    }
}

其中ActivityTestBinding的使用會提示紅色,因為Activity還沒有Xml頁面。

下面新建activity_test.Xml。

新建完成后,回到TestActivity類,系統會提示我們引用ActivityTestBinding命名空間,引入后代碼不再報錯。

下面我對activity_test.Xml進行改名,將中間的_去掉,改為activitytest.Xml。

回到TestActivity,會發現代碼有提示錯誤了。

我們將ActivityTestBinding改為ActivitytestBinding,T小寫,發現系統又提示我們引入命名空間了。

最后,我們再將TestActivity類改名,發現代碼不報錯。

那么到這里,我們可以得出如下結論了:

databinding會自動綁定xml頁面,其綁定規則是頁面名activity大寫A加Binding,如果頁面名里有底杠,則底杠后面的字面變為大寫。

PS1:新建頁面時,以activity開頭的xml才會被databinding自動綁定。 

PS2:Fragment同理,比如fragment_gallery.xml,對應的databinding就是FragmentSlideshowBinding。

PS3:databinding的命名空間是根命名空間,如:com.kiba.learn

----------------------------------------------------------------------------------------------------

注:此文章為原創,任何形式的轉載都請聯系作者獲得授權並注明出處!
若您覺得這篇文章還不錯,請點擊下方的推薦】,非常感謝!

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM