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