网上的方法试了很多都不行,后来发现在ListView控件同级处加入一个EditText,ListView中的EditText就可以正常弹出软键盘输入内容了,这个EditText可以设置宽高都为0dp,或者设置为隐藏,这应该是ListView的一个BUG,安卓5.0以上还是建议用recyclerview。代码如下:
<ListView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_margin="3dp"
android:layout_weight="1"
android:background="@drawable/shape_rect"
android:divider="@drawable/linearlayout_line_x"
android:dividerHeight="1dp"
android:footerDividersEnabled="true"
android:headerDividersEnabled="true">
</ListView>
<!-- 这个EditText不能删除,删除会导致上面的ListView中的EditText无法弹出软键盘-->
<EditText
android:layout_width="0dp"
android:layout_height="0dp"/>