4.ObservableFields家族

  1. 一個(gè)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();    
}

}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,699評論 19 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,853評論 18 399
  • 什么是Android數(shù)據(jù)綁定(DataBinding)? Android數(shù)據(jù)綁定是一個(gè)Google官方發(fā)布的幫助開...
    滑稽的命運(yùn)閱讀 13,048評論 3 33
  • 2017年5月17日 Kylin_Wu 標(biāo)注(★☆)為考綱明確給出考點(diǎn)(必考) 常見手機(jī)系統(tǒng)(★☆) And...
    Azur_wxj閱讀 1,974評論 0 10
  • 凡是暑期到我校報(bào)名的新生均有精美禮品贈(zèng)送 所有預(yù)科班七月份開班時(shí)間為7.5號(hào)左右 微信轉(zhuǎn)發(fā)15天,均享受最高優(yōu)...
    暖暖的劉宇閱讀 284評論 0 0

友情鏈接更多精彩內(nèi)容