在列表视图中首次输入后,数字编辑文本失去焦点
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()
我的列表视图中有多个编辑文本,数字的和普通的。当我点击一个数字时,它获得焦点并弹出键盘,但在我输入 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()