spring of life

技術、ときどき日常のブログ(予定)

複数選択ダイアログ作成

Android 初心者すぎてちょっと機能足すのにも結構時間かかる。。。

  • 家計簿のアプリで、費目(食費、交通費とか)を今まではキーボードで入力してたけど、選択できるようにした
  • 費目の入力欄のところにボタンを付けて、それを押すとダイアログが出てきて、表示される費目のリストを複数選択する感じ
  • 費目のリストは収支情報が登録されているサーバーのRailsアプリに実装されているWeb APIを使って取得できるようになっている

ビューの作成

カスタムビュー

今回、カスタムビューと呼ばれるものを作ってみたんだが、結構詰まった。。。

qiita.com

ここらへんを参考にしたかな〜

まだinflateとかの使い方がよく分からなくて、
View.inflate(context, R.layout.input_form, this);でビューが生成されるのがようやく分かった。。。

View layout = View.inflate(context, R.layout.registration_view, this);

inputViews = new InputView[INPUT_VIEW_SIZE];
inputViews[INPUT_VIEW_DATE] = (InputView) layout.findViewById(R.id.date);
inputViews[INPUT_VIEW_CONTENT] = (InputView) layout.findViewById(R.id.content);
inputViews[INPUT_VIEW_CATEGORY] = (InputView) layout.findViewById(R.id.category);
inputViews[INPUT_VIEW_PRICE] = (InputView) layout.findViewById(R.id.price);

1度inflateでビューを生成して、その後はfindViewByIdでビュー取得かな

キーボード設定

金額とか数字を入力するのが分かってる場合は、android:inputType="number"とか使うとデフォルトで数値入力のキーボードになってる

他にもいろいろ設定できるようで、下記にいろいろ書いてある

kuwalab.hatenablog.jp

文字の左右中央寄せ

android:gravityで設定できるっぽい

seesaawiki.jp

ちなみに、右寄せにしようとandroid:gravity="right"にしようとしたら警告が出て、android:gravity="end"にしろって言われた。。。

ダイアログの作成

参考にしたのは↓かな。というかコピペして、ちょっと修正するだけでいけたw

androidkaihatsu.seesaa.net

このサイトのサンプルは選択肢が固定値だったので、それをWeb APIを使って動的に作るようにした

その他メモ

res/values-ja/strings.xmlに入ってる文字列情報はgetResourcesメソッドとかを使うと取れるっぽい

getResources().getString(R.string.date);

参考サイト:
android.keicode.com



これでとりあえず参考になったサイトは全部貼り付けたかな。。。w

忘れないように貼り付けていかないと次思い出そうとした時に面倒だからな〜ブクマでもいいんだけどね