I am using onKeyListener to get the onKey events. It works fine with the normal keyboard. But it does not work with soft keyboard. I am only able to get onKey events for numerics and not alphabets. Is there any workaround to solve this? plz help me its urgent.
public class BeepActivity extends Activity { private EditText editTextBox; private MediaPlayer mMediaPlayer; private int len; private int limit = 10;
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
editTextBox = (EditText) findViewById(R.id.EditTextBox);
editTextBox.addTextChangedListener(new TextWatcher() {
public void onTextChanged(CharSequence s, int start, int before,
int count) {
if (s.length() > 10) {
playAudio();
}
if (s.length() == limit) {
len = limit + 1;
} else {
len = s.length();
}
Log.e("beep", "onTextChanged" + " " + count);
}
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
Log.e("beep", "beforeTextChanged");
}
public void afterTextChanged(Editable s) {
Log.e("beep", "afterTextChanged");
}
});
editTextBox.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
Log.e("beep", "onKeyListener" + " " + len);
if (len == limit + 1) {
len++;
} else {
if (len > limit) {
if (!(keyCode == KeyEvent.KEYCODE_DEL))
playAudio();
}
}
Log.e("beep", "onKeyListener");
return false;
}
});
}