2chの人達にもらった意見を参考に,TreeNoteを直してみた. 以前から,アプリの利用中に縦横変更するのって意味ねえだろと思ってたけど,アウトラインプロセッサーだと確かにちょっと意味があるような気がしなくもない.つまり,編集に便利な方向と閲覧に便利な方向が異なる場合があるんだろう.
しかたがないので,androidではどうやって回転に対応するのか真面目に調べた.なんかonSavedなんとかいうやつで一時的にBundleに状態を保存する機能を使えばいいのかと思っていたのだが,どうも回転に対応する場合はActivity#onRetainNonConfigurationInstance()というのを使ったらいいらしい.これはどうやら「何かconfigurationが変わり,activityが破棄されてすぐ作りなおす」という状況専用で,でもどんなobjectでも扱えるのでParcelableとか考えなくても超簡単に使える.わかってしまえばたいして面倒でもなかった.
あとだんだんPreferencesが増えてきて地味にめんどい.正直,androidのPreferenceは数が増えると管理が大変である.設定値をsummaryに表示させるとかも個別にやんないといけないし,なによりpreference keyの管理を簡単確実にする方法がなさそうだ.なんかそれ用のクラス作ってほしいなあ.xmlの記述に対応するとかはこっちではどうしようもないし.xmlでの記述を気にしないで全部コードで作るんなら,もうEnumとか使ってもいいんだけど.
あちらでレスしたものの他に検索や置換(ノード内、全文)など、ほしい機能はいろいろあったりしますが、難しいと思うのでゆっくりつくっていっていただければと思います。(2012-11-24 02:55:06)