onTrackballEvent non sta lavorando al Samsung Moment
Domanda
Ho una lista nella mia app.
Quando un utente tocca una voce dell'elenco con il dito, i fuochi gestore onListItemClick e ce l'ho l'apertura di una nuova attività.
Tuttavia, quando un utente utilizza la trackball / pad per cliccare, voglio eseguire alcune funzionalità diverse. Ho overrode onTrackballEvent e tutto funziona perfettamente bene in modalità trackball dell'emulatore.
Purtroppo, durante il test sul Samsung Moment, facendo clic sul trackpad spara il gestore onListItemClick, non il gestore onTrackballEvent.
Qualcuno sa perché? Qualcuno ha un modo per aggirare questo?
Soluzione
In ListView è possibile setOnKeyListener e ti codice quando keycode è KeyEvent.KEYCODE_DPAD_CENTER
listview.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
switch(keyCode){
case KeyEvent.KEYCODE_DPAD_CENTER:
if(event.getAction()==KeyEvent.ACTION_UP){ //to do it only when key is released
// do the code while trackball/pad is clicked
}
return true;
default:
return false;
}
}
}
});
E 'funziona per me. Spero che questo vi darà qualche idea
Altri suggerimenti
Prova sovrascrivendo l'evento dispatchTrackball
e afferrare quegli eventi. Inoltre, solo un suggerimento -. Non vorrei usare una diversa azione sulla trackball perché non tutti i telefoni Android hanno la trackball