Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

EditText inside ListView lost focus [duplicate]

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.

like image 696
kiduxa Avatar asked Jun 08 '13 20:06

kiduxa


1 Answers

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!!!.

like image 84
kiduxa Avatar answered Oct 17 '22 19:10

kiduxa