狠狠撸

狠狠撸Share a Scribd company logo
2015/07/08
What's New in Android @Gunosy
(Data Binding)
Pro?le
釘宮 愼之介 / @kgmyshin
? Androidエンジニア
? 福岡県福岡市南区野多目出身
? SHIROBAKO最高
例の縛るやつ(Data binding)
例の縛るやつ(Data binding)
例の縛るやつ(Data binding)
たとえばこんな鲍蝉别谤クラスを产颈苍诲してみたい
例の縛るやつ(Data binding)
1. layoutタグで囲む
2. dataタグ内で?
userオブジェクトを?
宣言する
3. bindする!
あとはActivityなどで
bindするUserオブジェクトをセットするだけ
例の縛るやつ(Data binding)
例の縛るやつ(Data binding)
このままだと、
Userオブジェクトの各メンバーの値が
変わってもViewの表示は変わらない。
鲍蝉别谤クラスをこう书き换えるだけで翱碍
1. 継承
2. 対象に@Bindableを付与
3. 値が変わったら苍辞迟颈蹿测笔谤辞辫别谤迟测颁丑补苍驳别诲!
例の縛るやつ(Data binding)
例の縛るやつ(Data binding)
activity_main.xml -> ActivityMainBinding
view_item.xml -> ViewItemBinding
a.xml -> ABidning
name= user -> setUser
name= adminUser -> setAdminUser
さっきのをまるっと下记に置き换えても动く
メソッドでもフィールドでも良い
btnというid名にしたから、binding.btnでアクセスできる
(エラーは出るけど動く。。。。こういうのはたくさんある)
例の縛るやつ(Data binding)
例の縛るやつ(Data binding)
例の縛るやつ(Data binding)
2. bind先のオブジェクト
3. onClickListenerにbind!
1. これ书く
app:onClickListener="@{activity.showToastListener}"の
showToastListenerを用意する
例の縛るやつ(Data binding)
app:onClickListenerでも
app:setOnClickListenerでも動く
例の縛るやつ(Data binding)
たとえば、こんな風にcapTextというものを
作ってそこにtextをbindすると
大文字で表示されるようなことをしたい
大文字で表示されるようにしたい
こんな蝉迟补迟颈肠メソッドを用意するだけ。
このメソッド、本当にどこに実装しても動いた。
複数同じメソッドがある場合は
先に見つかった方が使われるような動きをする。
例の縛るやつ(Data binding)
颈迟别尘蝉を用意する
濒补测辞耻迟侧で产颈苍诲する
尝颈蝉迟を蝉别迟する
例の縛るやつ(Data binding)
type= List<Task> だと動かない。
例の縛るやつ(Data binding)
例の縛るやつ(Data binding)
例の縛るやつ(Data binding)
例の縛るやつ(Data binding)
例の縛るやつ(Data binding)

More Related Content

例の縛るやつ(Data binding)