読者です 読者をやめる 読者になる 読者になる

おすしたべたい

おすしがたくさん食べられるようにがんばるブログ

ListView内にEditTextを配置すると文字の入力ができない問題

掲題の件、ググるとポピュラーな問題だそうで意外とすぐに解決出来ました。

AndroidManifest.xmlの、ListViewを持つアクティビティのプロパティに
android:windowSoftInputMode="adjustPan"を追加しろとのことです。

<activity
  android:name="AwesomeActivity"
  android:label="@string/title_activity_awesome"
  android:windowSoftInputMode="adjustPan">
</activity>

こんな感じですな。
ただ、コレをするとソフトキーボードが出ているときは画面がスクロールできなくなります。ソフトキーボードが出ている間も画面も画面をスクロールさせたいよという人は結構頑張らないといけないかもです。
状況によってはListViewを使わないほうがいいかもしれませんね

原因はこのあんざいゆき大先生のこちらの記事が詳しいです。
Y.A.M の 雑記帳: Android ExpandableListView の子要素に EditText を入れるといろいろめんどい

じゃあこのwindowSoftInputModeってなんなの?という話ですが、ソフトキーボードが出てきた時のアクティビティの挙動を制御するためのものみたいです。 adjustPan以外のプロパティや細かい説明などは例によってあんざいゆき大先生の記事を御覧ください。
Y.A.M の 雑記帳: Android Onscreen Input Methods

以上、現場からお伝えしました。