I'm nearly done with a game for Android, but I'm running into some issues with Unity's text fields and the ICS keyboard, which I have noticed, as have 3 of my testers ( Stock Galaxy Nexus and Nexus S users ).
When the keyboard comes up for the first time, everything works as expected. If you dismiss it using the "Ok" button next to the popped up text entry, it works as expected. If you dismiss it with the "Done" button on the keyboard, the keyboard often does not present itself in other text fields and I can't find a consistent to bring it back up. It sometimes takes a few attempts, but this is definitely reproducible.
I'm not using any custom handling of my text fields:
Is there anything I can do to work around this issue? I am planning to release soon, and this is sadly a critical bug.
A beta version is online here so you can see: http://bit.ly/ItCVgu
Thanks, David Goemans
asked Apr 09 '12 at 11:08 AM
Bug was fixed in 3.5.6
answered Jan 14 at 09:18 PM
Edit! I've changed the way I've done my workaround, so maybe it'll be more effective.
I keep a reference in one of my classes to an instance of TouchScreenKeyboard:
in my Start(), I instanciate a keyboard:
then, when I want to ensure my keyboard is re-shown, I do:
I call that code when the user taps on an area that would be a text area. Something like this (pseudocode)
Surely there's a better way, but I imagine it will require Unity to change how they interact with the keyboard API on ICS.