How to capture Soft keyboard key events.

by Gulfam » Thu, 29 Oct 2009 00:42:14 GMT

Sponsored Links
 Hi all group members,

I am facing a problem any one can help me regarding this.

I have an  EditText and a list of contacts. I want to search a
contacts on maching with characters entered in EditText field. In my
activity I have implemented  "OnKeyListener" .

and in onCreat (){
  searchField = (EditText)findViewById(;
 and i have also implemented the method like this

public boolean onKey(View v, int keyCode, KeyEvent event) {

//Here i am getting text from my search field and comparing with
contacts and updating contacts list

When i pressed keys like (abc ---> xyz or 0 -->9 or any key) from my
computer key board or
keyboard which is displaying on right side of the emulator my code is
working fine. Currently I am using HTC Magic Emulator and Device also.

*******Its workin fine for me******
But now move to issue-->>>

when i touch EditText field  a software keyboard launched and when i
pressed any key from my screen keyboard
its not giving me the events in onKey() method in other words its not
calling onKey(){} method. but this method is called on specific keys
like (0 to 9 and Delete key).

I have also implement "keyListener" interface and its 4 to 5 methods
like keyUp(), keyDown(),etc  but when i implement "keyListener"
softkeyboard is not launching on touching my EditText field.

Any useful solution would be highly appriciated.
Thanks in advance.
Gulfam Hassan


How to capture Soft keyboard key events.

by Gulfam » Thu, 29 Oct 2009 23:10:09 GMT

 Is there any solution I am still waiting for your Response

Gulfam Hassa


Sponsored Links

How to capture Soft keyboard key events.

by Banny » Fri, 30 Oct 2009 11:22:17 GMT

 I find the same problem of it.
Finally, I found EditText.addTextChangedListener(new TextWatcher(){})
will let get the event.
Good luck.


How to capture Soft keyboard key events.

by Gulfam » Fri, 30 Oct 2009 15:18:32 GMT

 Hi Banny,

Thanks alot. I have implemented the code same as you its working very
well for me. It was very big issue for my app but now resolved :)
Thanks again.

Gulfam Hassan


How to capture Soft keyboard key events.

by Nandy » Fri, 30 Oct 2009 18:57:21 GMT

 Hi Banny, Hassan,

Even i faced the same problem and added on text change listener
through text watcher. But in this case I am not able to catch the
events of keys like caps, shift, changing from abc to 123.
Any idea on this how to solve?

Thanks and Regards,


How to capture Soft keyboard key events.

by Dianne Hackborn » Fri, 30 Oct 2009 20:46:00 GMT

 here are no events for those things.  They are just internal state changes
in the IME. Some IMEs may not even have such changes -- for example a
handwriting one may allow you to write letters and numbers in the same area.

On Fri, Oct 30, 2009 at 3:56 AM, Nandy <> wrote:

Dianne Hackborn
Android framework engineer

Note: please don't send private questions to me, as I don't have time to
provide private support, and so won't reply to such e-mails. All such
questions should be posted on public forums, where I and others can see and
answer them.


Other Threads

1. Control which items to redraw? (notifyDataSetChanged with a range)

If it is just a refresh and not an entirely new list or additions/
removals of elements, use notifyDataSetInvalidated() instead. I think
it's a bit more efficient.

But, as far as i know, you can't specifiy a range of elements. But you
can optimize it yourself.
I do this at times using the list-item view's getTag() and setTag()
methods. If the getTag() returns an object that is different than you
would expect (with respect to the list-item's position), refresh the
view's contents. Otherwise, leave it alone.


2. Android default color madness, primary_text_light is color black?

Good morning,

I got a little textview defined in layout xml:
<TextView android:id="@+id/tvCategory"
                android:padding="2dp" android:layout_weight="1.0"
android:gravity="left" android:textColor="@android:color/
primary_text_light" />

As you can see the background color is "background_light" (this
results in white color) and the text color is
"primary_text_light" (this results in black color).

I would have thought that primary_text_light would result in a "light"
color like white, not black ;-)

When i change "primary_text_light" into "primary_text_dark" the text
color becomes color white.

Is this a bug in the naming of the default colors?

Kind regards,

3. breakpoints and widgets

4. Accessing java SIM card information from android

5. Can we send long SMS message (size > 160 char) and can recieve same in one shot at reciever side?

6. Running exclusively SmallTests

7. Reusing a service already started