Voglio prendere la pressione di qualsiasi tasto della tastiera. Non voglio un EditView o TextView nella mia attività, l'evento deve essere gestito da una vista estesa all'interno della mia attività.Android - Premere il tasto tastiera
Ho appena provato questo:
1) l'override del metodo onKeyUp(int keyCode, KeyEvent event)
attività. Questo non funziona con softkeybord ma basta prendere qualche hardkeyboard.
2) Creare il mio OnKeyListener
e registrarlo nella mia vista che contiene uno OnTouchListener
registrato e funzionante. Questo non funziona affatto con softkeyboar.
3) Ignora il metodo di visualizzazione onKeyUp(int keyCode, KeyEvent event)
. Questo non funziona affatto se io imposto il mio OnKeyListener né se non lo imposto.
4) Con l'oggetto InputMethodManager
Chiamare il metodo showSoftInput
e passarlo alla vista. Questo non funziona né per alzare la tastiera, anzi devo chiamare toggleSoftInput
; né per cogliere gli eventi chiave.
Ho provato tutto solo nell'emulatore ma penso sia sufficiente. Perché è così complicato prendere un semplice evento chiave da una tastiera?
E quando avete esaminato il codice sorgente per le classi come '' EditText' e TextView', per vedere come gestire, cosa hai imparato? – CommonsWare
Studiare il codice sorgente può aiutare ma richiede troppo tempo. – Bemipefe