Preference.xml は res/layout/ フォルダではなく、res/xml/ フォルダに
わずかではあるものの設定項目を用意する必要があって、いろいろ調べていたら(当然といえば当然なのだろうけれど)標準の設定項目のアクティビティがあるとかで、しかもそれは項目を記録しておいてくれるというので手間要らず。
ではではということで某サイトの連載記事を参考にしつつはじめたのだけれど、なんだかうまくいかない。xml ファイルを作ってみたけれど width やら height やらがないので付け加えろみたいなことを言われる。変だなあとか思っていたら、本家のリファレンスサイトで res/xml/ フォルダ(標準では作成されていない)に置くようにとあるのを見つけた。
先に言って欲しい。というかなぜ先のサイト記事にはそれが明記されていなかったのか。ということで、フォルダを作成したらちゃんといろいろ機能するようになった。
Preference 用のアクティビティとしては、PreferenceActivity ではなくて、PreferenceFragment を使えというように読めるのだけれど、どこも基本は PrefActivity で内部クラスとしてフラグメントを用意するといったつくりが見つかる。まあ、アクティビティなしってわけにもいかないかと思えばそれもそうかと思いつつ、いろいろやっていくと今度は本家のリファレンスの解説コードが declaration とか言われてしまう。どうすればいいのと思っているとフラグメントを使えみたいな。うーむ。(英文なので雰囲気だけ読み取っています。ゆえに間違っている可能性大)
ひとまずは SharedPreferences に保存されてというのは確認できたし、そこから実行時に読み取ったもので設定すればそれに従うところまでは確認できた。ただ、設定を変更した時点で適用したいと思うのだけれど、まだそこにたどりつけない。それっぽいところは追加したはずだったのだけれど。
ということでもう少し設定画面は続くのであった。
| 固定リンク


コメント