Sto giocando intorno con un certo sviluppo tastiera e cercare di mostrare una finestra pop-up quando si preme un determinato tastoIME per Android: come visualizzare una finestra di dialogo popup?
if (primaryCode == -301) {
AlertDialog mDialog = new AlertDialog.Builder(CONTEXT)
.setTitle("My dialog")
.setMessage("Lets do it.")
.setPositiveButton("ok", null).create();
mDialog.show();
}
Tuttavia, il problema è la parte CONTEXT
. In un'applicazione normale sarebbe solo this
. Ho anche provato getApplicationContext()
e getBaseContext()
, ma nessuno di questi funziona -> crash della tastiera.
android.view.WindowManager $ BadTokenException: Impossibile aggiungere finestra - nulla di token è non per un'applicazione
quindi mi chiedo se devo fare qualcosa con InputConnection:
l'interfaccia InputConnection è il canale di comunicazione da una InputMethod indietro all'applicazione che è recei il suo input. È utilizzato per eseguire operazioni come la lettura del testo attorno al cursore, il commit del testo nella casella di testo e l'invio di eventi chiave originali all'applicazione.
Finora non sono stato in grado di capire come. Sicuramente so che è possibile, visto che l'ho visto prima. Qualcuno potrebbe indicarmi la giusta direzione che sarebbe sicuramente apprezzata.
Aggiornamento:
Per fornire un quadro più preciso di quello che cerco di ottenere ho caricato uno screenshot della tastiera Swype, che fa esattamente questo: che mostra una finestra pop-up quando un tasto speciale viene premuto sulla tastiera.
Per favore aiutami come impostare la tua tastiera? . Ho fatto utilizzando un'applicazione separata. Voglio mostrare una piccola tastiera vicino al TextBox (sinistra o destra). Questa è la mia domanda. stackoverflow.com/questions/7357876/... Ho fatto la mia tastiera utilizzando la demo dell'API Android .. – Piraba