woshidan's blog

あいとゆうきとITと、とっておきの話。

AndroidのCalligraphyにてカスタムフォントを使っていたらFragmentManagerが落ちる

下記を参考にしつつ、AndroidCalligraphyを導入してカスタムフォントを使っていたら、 FragmentManagerが動いてくれなくて困りました。

出ていたのは、LayoutInflater#inflate(R.layout.page_layout, null);を使っている行で出ていた例外はjava.lang.IllegalStateException: A factory has already been set on this LayoutInflater

覚えが無いな〜と思ったのですが、一緒に使っているサポートライブラリがv22.0.0以上のときに発生することがあるようです。

Calligraphy側の問題らしくて、既に修正済み。Calligraphyのバージョンを下記のように2.1.0以上にすれば直りました。

compile 'com.android.support:appcompat-v7:22.+' // or 23.+
compile 'uk.co.chrisjenx:calligraphy:2.1.0'

久しぶりにFragment触ったから、なにかお作法がめっちゃ変わったかと思ったー!