我的listview中有多个edittexts,数字和普通。当我点击数字时,它会获得焦点并弹出键盘,但在输入1个数字后,它会失去焦点,我必须再次点击它才能输入更多数字。有没有办法保持专注,所以我可以输入更多的数字?我的普通编辑文本完美无缺。
我已经尝试过adjustpan和不同的键盘模式。
edittext代码:
<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" />
Listview代码:
<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>
答案 0 :(得分:1)
问题是列表视图:您必须在listview活动中添加以下内容
android:windowSoftInputMode="adjustPan"
以及以下列表视图
android:descendantFocusability="beforeDescendants"
答案 1 :(得分:0)
我设法修复它,在调试currentFocus之后我发现listview onExpand()将焦点移开,在将焦点返回到edittext之后设置editText.requestfocus()。
答案 2 :(得分:0)
我有同样的问题,但是我的EditText不在任何ListView中。它只是在几个嵌套的LinearLayouts内部,并且也就失去了它的焦点。解决我的问题的是在活动代码和我设置的onTextChanged中为此EditText添加TextChangedListener。
EditText.requestFocusFromTouch()