AdapterToolboxとは
AdapterToolboxはRecyclerViewと、ListViewやSpinnerのようなAdapterViewのための便利クラスを含んだライブラリです。
GitHubリポジトリとサンプルコード
リポジトリの中のexampleモジュールが1つのアプリケーションになっており実行すると後述の動画のアプリが起動できます。
主要なクラス
- ScrambleAdapter
- RecyclerView.Adapterをベタで作るとViewHolderに関する処理も一緒に書かくことになります。単一itemViewTypeを取り扱う場合は良いのですが、複数のitemViewTypeを組み合わせるときは組み合わせごとにAdapterを作ることになり非効率的です。ScrambleAdapterを使うと、ViewHolderのCreate/Bindする処理をViewHolderFactoryといった別クラスに切り出すことができ、後から必要に応じて組み合わせることができるようになります。
- ListenerRelay
- よく使用されるView用のListenerメソッドをまとめたものの空実装です。ForwardinListenerと組み合わせて使用します。
- CodeLabelAdapter
- 主にEnumをSpinnerで使用することを想定したAdapterです(Enum以外も可能)。
- ICodeLabelインターフェースを実装したEnum/ClassならなんでもSpinnerに使用できます。
- 関連記事:Spinnerにenumを使いたいときのアプローチ
- ClassicScrambleAdapter
- ViewHolderFactoryを従来のAdapterViewで使用するためのAdapterです。ScrambleAdapterと同じように使用できます。
- AbsTreeItemAdapter
- 折りたたみ可能なツリー構造を持ったリストを表示するためのアダプターです。
- AbsChoosableTreeItemAdapter
- 折りたたみ可能なツリー構造を持ったリストで、選択可能な項目を表示するためのアダプターです。
使い方
repositories {
maven {
url "http://dl.bintray.com/cattaka/maven"
}
}
dependencies {
compile 'net.cattaka:adapter-toolbox:$VERSION@aar'
}
$VERSIONの箇所には https://bintray.com/cattaka/maven/adapter-toolbox/view にある使いたいバージョンのものを指定してください。
参考動画
ヘッダーとフッター
RecyclerViewでのヘッダーとフッター(記事まとめ中) pic.twitter.com/NFbwpIWzKm
— 住友 孝郎 (@cattaka_net) 2016年6月9日
セクション分け

ソースコードはこちら
関連記事RecyclerViewでセクション分けをする
一つの項目に複数のボタンを設置
RecyclerViewの一つの項目に複数の操作項目(記事まとめ中) pic.twitter.com/IiciHojSxh
— 住友 孝郎 (@cattaka_net) 2016年6月9日
複数のデータ型をゴチャまぜにして表示できるリスト
RecyclerView上で複数のデータ型のものをゴチャまぜに扱うのに上手い方法が無いかと試行錯誤してた https://t.co/pi3mLYWqAf pic.twitter.com/92VODngSyC
— 住友 孝郎 (@cattaka_net) 2016年5月15日
複数のデータ型をゴチャまぜにした上で編集操作が可能なリスト
RecyclerView上で複数のデータ型をゴチャまぜにした上で編集操作をするときに上手い方法が無いかと試行錯誤してた https://t.co/Z4GMEZrU79 pic.twitter.com/pqaTEicw97
— 住友 孝郎 (@cattaka_net) 2016年5月15日
RecyclerViewでツリー状に表示したのを選択できるリスト
RecyclerViewでツリー状に表示したのを選択するAdapterを作ってた https://t.co/NUCRALqAgI pic.twitter.com/qBEp3Q2GzV
— 住友 孝郎 (@cattaka_net) 2016年5月21日
ItemViewTypeを動的に切り替える
動的にItemViewTypeを切り替えて見るテスト(記事まとめ中) pic.twitter.com/dUh3fI7msP
— 住友 孝郎 (@cattaka_net) 2016年6月9日
Spinnerでツリー上の項目を使う
AndroidのSpinnerでツリー上の項目を使うコードも書いてた https://t.co/SYYaCtmnm4 pic.twitter.com/gHIOQAmDLL
— 住友 孝郎 (@cattaka_net) 2016年5月29日
Spinnerでヘッダーをつける
AndroidのSpinnerでヘッダーをつけるコード書いてた https://t.co/SYYaCtmnm4 pic.twitter.com/29m5xKdfkQ
— 住友 孝郎 (@cattaka_net) 2016年5月29日