ListViewの中でEditTextを使う

発生した問題

  • ListViewの中でEditTextを使いたい。入力値は数字(Number)。
  • EditTextのInputTypeをmanifest XMLで指定している
  • EditTextをタップしてフォーカスがあたると一瞬だけ数字キーボードが出現するが、すぐにフォーカスが外れてアルファベットキーボードに切り替わる。フォーカスが外れているので入力はできない。

http://stackoverflow.com/questions/20406472/edittext-in-listview-loses-focus-when-pressed-on-android-4-x
上の記述によれば、manifestでActivityに以下の設定を加えれば良い

android:windowSoftInputMode="adjustPan"

ただしこれだとListVIewで下にスクロールすると、先に入力した値が削除される。

追記:ListViewをネストして使いたいときはExpandableListViewを使うのが良さそう。