在listview中第一次输入后,数字edittext失去焦点

时间:2016-02-18 11:02:54

标签: android android-edittext focus

我的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>

3 个答案:

答案 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()