2011-09-26 18 views
7

Una piccola informazione sul motivo per cui sto tentando di farlo: sto utilizzando ActivityGroups per aprire un'attività da un'attività tabHost e mantenere la nuova attività sotto le schede. Quella parte che ho Ma quando in questa nuova attività, se utilizzo il pulsante Indietro, mi viene tolto dall'attività delle schede, quindi devo fare clic su un paio di volte per tornare a dove ero.Ignora pulsante Indietro Android

C'è un modo per impostare il pulsante Indietro per andare a un'attività specifica piuttosto che uccidere la finestra di attività corrente?

+0

http://stackoverflow.com/q/2459848/632951 – Pacerier

risposta

5

In generale, vorrei sconsigliarlo perché interrompe la UX. L'utente si aspetta che il pulsante Indietro uccida l'intera finestra, specialmente dal momento che si sta usando il tabhost. Per l'utente, l'intero gruppo (schede e tutto) è una singola attività che vuole uscire quando colpisce il pulsante Indietro.

Se si desidera continuare, consultare #onBackPressed(). Viene chiamato quando l'attività ha rilevato la pressione dell'utente del tasto Indietro. L'impostazione predefinita è terminare l'attività, ma puoi farlo fare quello che vuoi. Raccomando cura e cautela.

È possibile trovare ispirazione dal numero here.

+0

Sono d'accordo con non voler rompere la UX. Dopo averci pensato un po 'di più anche se sarebbe stato comodo e persino sensato nella mia situazione. Dovrò inventarmi un altro metodo per andare avanti e indietro. – ryandlf

7

Credo che si dovrebbe essere in grado di fare qualcosa del genere:

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if ((keyCode == KeyEvent.KEYCODE_BACK)) { 
     // start new Activity here 
    } 
    return super.onKeyDown(keyCode, event); 
} 

Ma ignorando la funzionalità prevista del pulsante Indietro non è consigliabile.

+0

Penso che sia un buon modo per realizzare una navigazione. Finché l'approccio visivo è trasparente per l'utente e l'utente può attivare il comportamento predefinito di un clic indietro quando raggiunge * l'inizio della navigazione * (forse con un doppio clic - se l'utente fa clic per rallentare, è possibile mostrare un suggerimento per il pane tostato) – Knickedi

+0

Ha funzionato per me Grazie –

Problemi correlati