4.ObservableFields家族

  1. 一个Person bean
public class Person {    
public ObservableField<String> name = new ObservableField<>();    
public ObservableInt age = new ObservableInt();    
public ObservableBoolean isMan = new ObservableBoolean();}
  1. xml文件中
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">

<data>    
<variable        
type="com.lefeee.dbdemoapplication.bean.Person"       
name="mPerson" />    
<variable        
type="com.lefeee.dbdemoapplication.MainActivity"        
name="click" />
</data>

<LinearLayout    
xmlns:tools="http://schemas.android.com/tools"    
android:id="@+id/activity_main"    
android:layout_width="match_parent"    
android:layout_height="match_parent"    
android:orientation="vertical"    
tools:context="com.lefeee.dbdemoapplication.MainActivity"> 
 
<TextView        
android:layout_width="wrap_content"        
android:layout_height="wrap_content"        
android:text="@{mPerson.name}" />    

<TextView        
android:layout_width="wrap_content"        
android:layout_height="wrap_content"        
android:text="@{ String.valueOf(mPerson.age) }" />    

<TextView        
android:layout_width="wrap_content"     
android:layout_height="wrap_content"        
android:text= '@{mPerson.isMan ? "man" : "woman"}'/>    

<Button        
android:layout_width="match_parent"        
android:layout_height="wrap_content"        
android:text="click"        
android:onClick="@{click.click}"  />

</LinearLayout>
</layout>

activity中

public class MainActivity extends AppCompatActivity {    
Person mPerson;    

@Override    
protected void onCreate(Bundle savedInstanceState) {      
  super.onCreate(savedInstanceState);        
  mPerson = new Person();        
  mPerson.name.set("jack");        
  mPerson.age.set(28);        
  mPerson.isMan.set(true);        
  ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main);        
binding.setMPerson(mPerson);        
binding.setClick(this);    
}    

public void click(View view) {        
  mPerson.name.set("rose");        
  mPerson.age.set(22);        
  mPerson.isMan.set(false);        
Toast.makeText(getApplicationContext(), "click", Toast.LENGTH_SHORT).show();    
}

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,568评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 34,706评论 18 399
  • 什么是Android数据绑定(DataBinding)? Android数据绑定是一个Google官方发布的帮助开...
    滑稽的命运阅读 13,039评论 3 33
  • 2017年5月17日 Kylin_Wu 标注(★☆)为考纲明确给出考点(必考) 常见手机系统(★☆) And...
    Azur_wxj阅读 1,960评论 0 10
  • 凡是暑期到我校报名的新生均有精美礼品赠送 所有预科班七月份开班时间为7.5号左右 微信转发15天,均享受最高优...
    暖暖的刘宇阅读 284评论 0 0

友情链接更多精彩内容