2

我有一个ListView三行。最后 2 行包含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当文本低于键盘时不会滚动。有没有办法处理那个用例?

4

1 回答 1

1

将 ListView 放入我需要注意的地方有什么特别之处吗?

是的,请记住,ListView想要处理焦点和点击事件,但现在你有一个EditText组合。查看这个问题的答案。

但是,如果您的 . 文件中只有 3 行ListView,那么使用它确实不会获得太多收益。ListView旨在回收视图并在列表中有许多项目时非常有效。如果您只有几行,我建议您使用 aScrollView并将您View的 s (行)添加到其中,然后onClick自己处理事件(如果您的列表项是可点击的)。

于 2013-02-22T00:01:31.783 回答