Перехват событий клавиатуры на андроид без EditText это плохая практика, существующие решения не будут работать на некоторых устройствах, рассмотреть вопрос о создании вашей клавиатуры виджет
http://developer.android.com/reference/android/inputmethodservice/Keyboard.html
KeyboardView mKeyboardView;
Keyboard mNumberKeyboard;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mNumberKeyboard = new Keyboard(this, R.xml.keyboard);
mKeyboardView=(KeyboardView) this.findViewById(R.id.num_keyboard);
mKeyboardView.setKeyboard(mNumberKeyboard);
mKeyboardView.setVisibility(View.VISIBLE);
mKeyboardView.setPreviewEnabled(false);
mKeyboardView.setOnKeyboardActionListener(new OnKeyboardActionListener(){
@Override
public void onKey(int arg0, int[] arg1) {
SharedPreferences sp = getSharedPreferences("MySharedPreferences", 0);
SharedPreferences.Editor edit = sp.edit();
edit.putInt("key", arg0);
edit.commit();
}
@Override public void onPress(int primaryCode) {}
@Override public void onRelease(int primaryCode) {}
@Override public void onText(CharSequence text) {}
@Override public void swipeDown() {}
@Override public void swipeLeft() {}
@Override public void swipeRight() {}
@Override public void swipeUp() {}
});
}
, когда хотите, чтобы показать клавиатуру? в чем проблема использования edittext? – stinepike