getComponentsDrawable()がnullになるとき

メモです。

TextView等でdrawableStart/drawableEndを使ってicon等のリソースを設定している場合などで

getComponentsDrawable()

を使うと大概の場合は特に問題なく動くが、稀にnullが帰ってくる場合がある。(drawableRight/Leftを使っている場合は問題ない)

自分の遭遇したケースは、Recyclerviewのitemの中で使っており複数回スクロールした際なのでview破棄周りかと

getCompoundDrawablesRelative()

Start/Endを使っている場合はこちらを使用するのが正しい。前者でも動いているように見えるので注意しなければ。

ref:

stackoverflow.com