EditText inside ListView lost focus [duplicate]

扶醉桌前 提交于 2019-12-21 09:05:14

问题


I have recently face this problem and I want to share with you my solution.

Problem:

  • You have a ListView with a Edit Text for each row like this:

MainList.xml

<ListView
    android:id="@+id/listViewServ"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"/>

RowList.xml

<TextView 
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <EditText
        android:id="@+id/editText1"
        android:layout_width="100dp"
        android:layout_height="wrap_content"  
        android:inputType="number"/>
  • You are working with TABS: tabHost or TabActivity. (this is very important to notice).
  • When you click on any of the list item EditText, the focus moves out immediately and you are not able to type anything. However the keyboard is still on. But what ever you type in does not appear as the focus is lost.

Now, I'm going to give you my solution posting my own question.


回答1:


I have seen that some solutions are using:

android:descendantFocusability="beforeDescendants"

in the layout of the definition of the list.

For me this wasn't necessary. The problem was fixed using android:windowSoftInputMode="adjustPan":

<activity
        android:name="mainActivity"
        android:windowSoftInputMode="adjustPan"
        android:label="@string/app_name" >
    </activity>

in the Manifest.xml.

But you have to make sure that this line of code goes in the activity where you are defining the TabHost or TabActivity!!!.



来源:https://stackoverflow.com/questions/17003715/edittext-inside-listview-lost-focus

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!