現役プログラマのプログラミング教室@岡崎市康生町一隆堂ビル, Android/iOS(Swift/Kotlin)のアプリ開発、デジタル漫画制作を主軸事業としています。

kotlin+epoxyで列を可変、毎回ハマるspancountやspanSizeOverrideやエラーGridLayoutManager has only 1 spans

毎回忘れてハマるのでメモです。

たいしたことではないのですが、意外と情報がでてこないので。

android kotlinでepoxyを使って手軽にListを可変に表示させてるのですが

異なる列を表示させるときに列が変わらず2回も悩みました。

そしてGridLayoutManager has only 1 spansのエラーに何度も遭遇。不毛な時間を浪費w

簡単なミスなのですが以下

検索することでspanSizeOverrideを使うことまではたどり着き

このように設定するのですが

ハマりどころが返す数字です。

列の数を返すと勘違いしてしまうのですが

spanCountで全体の列数を設定したうちのいくつ分を表示するか

なのです。これ一般的にもつ列の感覚と逆なんですよね。

結論

1列で表示したいときに1と設定してしまう(自分だけでしょうか)のですが、実際はspanCount=3であれば3を設定すると1列になります。

そう3つの列のいくつ分表示するかというのを返却するのです。3/3ということなのです。

知ってしまえばどうってことないのですが、意外と検索してもでてこなくてハマること2回、、、

自分だけかな(笑)