在gradle中添加dataBinding,开启数据绑定。

android {    compileSdkVersion 29    buildToolsVersion "29.0.3"    defaultConfig {        applicationId "com.moyu.databinding"        minSdkVersion 28        targetSdkVersion 29        versionCode 1        versionName "1.0"        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"        dataBinding {            enabled true        }    }
public class MainActivity extends AppCompatActivity {    MyViewModel myViewModel;    ActivityMainBinding binding;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);//        setContentView(R.layout.activity_main);        binding = DataBindingUtil.setContentView(this,R.layout.activity_main);        myViewModel =  new ViewModelProvider(this).get(MyViewModel.class);        myViewModel.getNumber().observe(this, new Observer<Integer>() {            @Override            public void onChanged(Integer integer) {                binding.textView.setText(String.valueOf(integer));            }        });        binding.button.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                myViewModel.add();            }        });    }}

使用数据绑定

ActivityMainBinding binding;
 binding = DataBindingUtil.setContentView(this,R.layout.activity_main);

取代了

setContentView(R.layout.activity_main);

android:onClick="@{()->data.add()}"

取代了

//        binding.button.setOnClickListener(new View.OnClickListener() {//            @Override//            public void onClick(View v) {//                myViewModel.add();//            }//        });
binding.setData(myViewModel);binding.setLifecycleOwner(this);

取代了

//观察者//        myViewModel.getNumber().observe(this, new Observer() {//            @Override//            public void onChanged(Integer integer) {//                binding.textView.setText(String.valueOf(integer));//            }//        });

更多相关文章

  1. mybatisplus的坑 insert标签insert into select无参数问题的解决
  2. python起点网月票榜字体反爬案例
  3. Android(安卓)SQLiteDatabase的使用
  4. android中的状态保存
  5. Android动态添加删除recycleview并动态保存recycleview中的的数
  6. Android异步线程OkHttp Post请求Json数据并解析
  7. android scrollview中嵌套expandablelistview
  8. 【Android】loadData与loadDataWithBaseURL的区别
  9. android之sqlite数据库初级

随机推荐

  1. Layout1.3
  2. android 骁龙相机预览宽度方向全屏
  3. Android(安卓)抽屉导航
  4. Android(安卓)5.1 SDK下载与配置
  5. Android(安卓)系统级应用守护进程
  6. 最新Android(安卓)ADT, SDK, SDK_tool等
  7. Android(安卓)全退出
  8. Android: Android(安卓)Reboot流程
  9. Android录音应用
  10. TextView 不用 ScrollViewe 也可以滚动