I have to display ListView contains EditText on Dialog, where a user can type the text in EditText and its content should not be lost.
For example, I have 10 EditText in listview, if the user types "11" in first EditText , "22" in second EditText , "33" in third EditText and scroll down the listview at tenth EditText after that user scroll it up again at first EditText at that time the value in first EditText should be "11", for second EditText "22" and so on, I have achieved this by setting EditText when text gets changed in EditText.
I use NiftyDialog as dialog (Link). The issue is that the EditText got focus randomly (it sometimes worked and sometimes not).
I have set
android:descendantFocusability="afterDescendants"
in ListView and set
android:windowSoftInputMode="adjustPan"
in Manifest File, but its not working properly.
What can be the issue here?
I had this issue a while ago with EditText
focus and realized that just setting the attributes on existing views wont work. In my case it was to avoid the keypad from poping up, but I believe, the same solution will work in your case too.
Add a dummy layout with android:focusable="true"
and android:focusableInTouchMode="true"
on top above all other views. This way the focus would go to this layout (which is at the top) and your random focus problem with the EditText
in the ListView
will get resolved.
<!-- Stop auto focussing the EditText -->
<LinearLayout
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@android:color/transparent"
android:focusable="true"
android:focusableInTouchMode="true">
</LinearLayout>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With