首页 文章

ExpandableListView子项's EditText can' t保持焦点

提问于
浏览
3

我用一个非常复杂的子项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 回答

  • 16

    需要两个设置:

    • 在UI代码中:

    expListView.setDescendantFocusability(ViewGroup.FOCUS_AFTER_DESCENDANTS);

    • 在Activity的AndroidManifest.xml中:

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

相关问题