ListViewの中に編集可能なTextViewを入れると、IMEが表示されるタイミングでListViewのサイズが変わり、編集中のTextViewからフォーカスが外れる。そして、1文字しか入力されない。
ひとまず、AndroidManifest.xmlのActivityの属性に
android:windowSoftInputMode = "adjustPan"
を加えると、解決しているっぽい。
以前作った同じようなListViewはたまたまサイズが小さくて、IMEが表示されてもリサイズされていないだけだった。