Y&S SoftWareのホームページ
使いかってのいいソフトウェアを開発します

仮想フォルダ

「仮想フォルダ」として扱うということ

ツリーに属さないデータを「Invisible Root」や「仮想フォルダ (null parentId)」として持たせる。

UI では フォルダ群 と 直下メモ群 を同じリスト(ツリー)に流し込む。

実装的には フォルダとメモを共通インターフェイスで扱うようにするのがポイント。

sealed class TreeItem {
data class Folder(val id: Int, val name: String, val children: List) : TreeItem()
data class Memo(val id: Int, val title: String) : TreeItem()
}


こうすれば、ツリー外データ(A,B)の表示も

- メモA
- メモB
- フォルダ1
- メモC
- フォルダ2
- メモD


のように自然にツリーに混ぜられます。