Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

例の縛るやつ(Data binding)

androidのDataBindingについて

  • Login to see the comments

例の縛るやつ(Data binding)

  1. 1. 2015/07/08 What's New in Android @Gunosy (Data Binding)
  2. 2. Profile 釘宮 愼之介 / @kgmyshin • Androidエンジニア • 福岡県福岡市南区野多目出身 • SHIROBAKO最高
  3. 3. たとえばこんなUserクラスをbindしてみたい
  4. 4. 1. layoutタグで囲む
  5. 5. 2. dataタグ内で
 userオブジェクトを
 宣言する
  6. 6. 3. bindする!
  7. 7. あとはActivityなどで bindするUserオブジェクトをセットするだけ
  8. 8. このままだと、 Userオブジェクトの各メンバーの値が 変わってもViewの表示は変わらない。
  9. 9. Userクラスをこう書き換えるだけでOK
  10. 10. 1. 継承 2. 対象に@Bindableを付与 3. 値が変わったらnotifyPropertyChanged!
  11. 11. activity_main.xml -> ActivityMainBinding view_item.xml -> ViewItemBinding a.xml -> ABidning
  12. 12. name= user -> setUser name= adminUser -> setAdminUser
  13. 13. さっきのをまるっと下記に置き換えても動く
  14. 14. メソッドでもフィールドでも良い
  15. 15. btnというid名にしたから、binding.btnでアクセスできる (エラーは出るけど動く。。。。こういうのはたくさんある)
  16. 16. 2. bind先のオブジェクト 3. onClickListenerにbind! 1. これ書く
  17. 17. app:onClickListener="@{activity.showToastListener}"の showToastListenerを用意する
  18. 18. app:onClickListenerでも app:setOnClickListenerでも動く
  19. 19. たとえば、こんな風にcapTextというものを 作ってそこにtextをbindすると 大文字で表示されるようなことをしたい
  20. 20. 大文字で表示されるようにしたい
  21. 21. こんなstaticメソッドを用意するだけ。
  22. 22. このメソッド、本当にどこに実装しても動いた。 複数同じメソッドがある場合は 先に見つかった方が使われるような動きをする。
  23. 23. itemsを用意する
  24. 24. layout側でbindする
  25. 25. Listをsetする
  26. 26. type= List<Task> だと動かない。

×