ExpandableListView子项的EditText无法保持焦点

时间:2013-09-05 09:02:50

标签: android android-layout expandablelistview

我使用非常复杂的子项xml创建了一个ExpandableListView。它包含TextView,Checkbox和EditText。部分内容如下:

 <TableLayout
               android:layout_width="match_parent"
               android:layout_height="wrap_content"
               android:orientation="horizontal"
               android:stretchColumns="1">
    <TableRow>
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:orientation="horizontal"
      >
      <TextView
          android:id="@+id/lblData1"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:textSize="14dip"
          android:paddingTop="2dp"
          android:layout_marginLeft="4dp"
          android:text="@string/lblTitle1"
          android:paddingLeft="?android:attr/expandableListPreferredChildPaddingLeft"/>
      <EditText android:layout_width="wrap_content"
                android:layout_height="wrap_content" android:selectAllOnFocus="true">

      </EditText>
    </TableRow>
  </TableLayout>

列表视图很好地显示了列表,我可以看到我的子项目及其相应的小部件,但当我在EditText内部单击时,它会显示键盘一瞬间,焦点前进到下一个孩子并隐藏键盘(焦点丢失,没有移动到下一个EditText)。

我该怎样防止这种情况?我想在EditTexts中写文本。

1 个答案:

答案 0 :(得分:16)

需要两个设置:

  • 在UI代码中:

    expListView.setDescendantFocusability(ViewGroup.FOCUS_AFTER_DESCENDANTS);

  • 在活动的AndroidManifest.xml中:

    <activity android:name=".InfoActivity" android:windowSoftInputMode="adjustPan">