我有一个ListView
,有三行。最后两行有EditText
个字段,允许编辑。我有以下两个的xml:
<LinearLayout
android:id="@+id/id_message_subject_edit"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:orientation="vertical" >
<EditText
android:id="@+id/id_message_details_subject"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="left"
android:layout_margin="5dp"
android:gravity="left"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/BLACK"
android:textSize="15sp" />
</LinearLayout>
由于某种原因,当我点击EditText
时,它只是丢失了光标,但键盘仍然可见。我不确定,但它发生在两个盒子上。这件事没有TouchListener
或任何其他听众。将ListView
置于我需要注意的内容中是否有一些特别之处?
修改
当我将以下内容放入manifest.xml文件时:
android:windowSoftInputMode="adjustPan"
我看到它有效......但是当文本低于键盘时,ListView
不会滚动。有没有办法照顾这个用例?
答案 0 :(得分:1)
将ListView放入我需要注意的内容有什么特别之处吗?
是的,请记住,ListView
想要处理焦点和点击事件,但现在你有了EditText
。查看此question的答案。
但是,如果您的ListView
中只有3行,那么使用它确实没有获得太多收益。 ListView
旨在回收视图,并在列表中包含许多项目时非常高效。如果您只有几行,我建议您使用ScrollView
并将View
s(行)添加到其中,并自行处理onClick
个事件(如果您的列表项是可点击的。)