Android设计模式MVVM之DataBinding简单使用
生活随笔
收集整理的這篇文章主要介紹了
Android设计模式MVVM之DataBinding简单使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
谷歌 I/O大會上介紹了一個非常厲害的新框架DataBinding, 數據綁定框架給我們帶來了很大的方便,以前我們可能需要在每個Activity里寫很多的findViewById,不僅麻煩,還增加了代碼的耦合性,如果我們使用DataBinding,就可以拋棄那么多的findViewById,省時省力。說到這里,其實網上也有很多快速的注解框架,但是注解框架與DataBinding想比還是不好用,而且官網文檔說DataBinding還能提高解析XML的速度,其實DataBinding的好用,不僅僅體現在可以省去使用很多啰嗦findViewById,還有很多。往下看你就會明白的。
1.添加依賴
android {....dataBinding {enabled = true } } 2.編寫Javabean
public class User {private String name; private String age; public User(String name, String age) {this.name = name; this.age = age; }public String getName() {return name; }public void setName(String name) {this.name = name; }public String getAge() {return age; }public void setAge(String age) {this.age = age; } } 3.編寫xml布局
<?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android" > <data> <variable name="user"//變量名稱 type="com.example.admin.mvvmuse.User" />//類的全路徑 </data> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@{user.name}" />//賦值 <TextView android:onClick="@{clickListener}" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@{user.age}" /> </LinearLayout> </layout> 4.在Activity中綁定數據
public class MainActivity extends Activity {@Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState); //setContentView(R.layout.activity_main); ActivityMainBinding binding = DataBindingUtil.setContentView(this,R.layout.activity_main); User user = new User("mike","23"); binding.setUser(user); }} 5.綁定事件
<data> <variable name="clickListener" type="android.view.View.OnClickListener" /> --------- </data> <TextView android:onClick="@{clickListener}"//引用變量 android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@{user.age}" />
6.添加點擊事件
public class MainActivity extends Activity {@Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState); //setContentView(R.layout.activity_main); ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main); User user = new User("mike", "23"); binding.setUser(user); binding.setClickListener(new View.OnClickListener() {@Override public void onClick(View v) {Toast.makeText(MainActivity.this, "nihao", Toast.LENGTH_SHORT).show(); }}); }
總結
以上是生活随笔為你收集整理的Android设计模式MVVM之DataBinding简单使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android中关于setLatestE
- 下一篇: android sina oauth2.