在列表视图中首次输入后,数字编辑文本失去焦点

Numeric edittext loses focus after first input in listview

我的列表视图中有多个编辑文本,数字的和普通的。当我点击一个数字时,它获得焦点并弹出键盘,但在我输入 1 个数字后,它失去焦点,我必须再次点击它才能输入更多数字。有没有办法保持专注以便我可以输入更多数字?我的普通编辑文本完美无缺。

我已经尝试过 adjustpan 和不同的键盘模式。

编辑文本代码:

<EditText
    android:id="@+id/etEditTextItem"
    android:inputType="number"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:ems="5"
    android:focusable="true"
    android:focusableInTouchMode="true"
    android:layout_alignParentRight="true" />

列表视图代码:

         <ExpandableListView
            android:id="@android:id/list"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:background="@color/colorCard"
            android:groupIndicator="@null">
        </ExpandableListView>

问题出在列表视图上:您必须添加以下内容才能在列表视图中显示 activity

android:windowSoftInputMode="adjustPan"

和列表视图的以下内容

android:descendantFocusability="beforeDescendants"

我设法修复了它,在调试 currentFocus 之后我发现 listview onExpand() 夺走了焦点,在将焦点返回到 edittext 后设置 editText.requestfocus()。

我有同样的问题,但我的 EditText 不在任何 ListView 中。它只是在几个嵌套的 LinearLayouts 中,并且也像 .解决我的问题的方法是在 activity 代码中为此 EditText 添加 TextChangedListener,并在我设置的 onTextChanged 中添加:

EditText.requestFocusFromTouch()