DataBinding是什么就不介绍了,直接开始:
先配置(build.gradle(Module))
android {
...
dataBinding {
enabled = true
}
}
布局文件
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="user"
type="com.lf.test.testapplication.Test" />
</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}" />
</LinearLayout>
</layout>
数据源配置
public class MainActivity extends AppCompatActivity {
private static final String TAG="MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d(TAG,"onCreate");
Test test=new Test();
test.setName("哈哈哈");
ActivityMainBinding binding=DataBindingUtil.setContentView(this, R.layout.activity_main);
binding.setUser(test);
}
}
注意点:
- 布局文件最外层使用layout,不然可能不会自动生成ActivityMainBinding